Hola!, nuevamente yo, antes que nada les agradezco mucho su tiempo y su ayuda.-
La cuestion es que necesito pasarle a la funcion Mid los argumentos desde los argumentos de otra funcion valga la redundancia, esto es lo que intento:
Public Function BuscarHijos(P1 As Integer) As Variant
On Error GoTo Hay_err_err
DBpath = App.Path & "\datos\tablas.mdb"
strsql = "SELECT Max(mid(jerarquia, ["& P1 &"],2)) as Resultado FROM tbl_generaciones Where Mid(Jerarquia,1,1)=" & Mid(Me.txtpariente, 1, 1)
Set db = DBEngine.OpenDatabase(DBpath, False, False, ";pwd=mipass")
Set rst = db.OpenRecordset(strsql)
rst.MoveFirst
rst.MoveLast
'Si no hay registros coinvertimos el null en cero para
'poder sumarle 1
If IsNull(rst!Resultado) Then
BuscarHijos = 0
'si hay registros devolvemos el max
Else
BuscarHijos = rst!Resultado
End If
End Function
Ais como esta la ejecuto pero no me da resultado, nuevamente gracias por su ayuda.
Cita de: mdg en 8 Agosto 2007, 05:33 AM
strsql = "SELECT Max(mid(jerarquia, ["& P1 &"],2)) as Resultado FROM tbl_generaciones Where Mid(Jerarquia,1,1)=" & Mid(Me.txtpariente, 1, 1)
si esta función la tienes en un módulo te dará error porque usas el objeto "ME", que hace referencia al form en el que estas actualmente, lo que puedes hacer son 2 cosas
- enviale el dato como parametro de la funcion:
Public Function BuscarHijos(P1 As Integer, Pariente as String) As Variant
- ó usa el nombre del form
strsql = "SELECT Max(mid(jerarquia, ["& P1 &"],2)) as Resultado FROM tbl_generaciones Where Mid(Jerarquia,1,1)=" & Mid(Nombredetuform.txtpariente, 1, 1)