Referencia a argumento en funcion.-

Iniciado por mdg, 8 Agosto 2007, 05:33 AM

0 Miembros y 1 Visitante están viendo este tema.

mdg

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:

Código (vb) [Seleccionar]
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.

CeLaYa

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)
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.