Paso de parámetros a ".OnClick"
Publicado por lapiki (80 intervenciones) el 06/05/2011 12:27:50
Hola a todos,
Siguiendo algunas ideas vistas en el foro, intento aislar el código asociado a los botones de navegación de un formulario (botones propios, no los que Access proporciona por defecto). Para ello, tengo, entre otras cosas, una función que llamo "InicializaNavegacion" que asocia procedimientos de evento a mis botones "anterior, siguiente, primero, último". El problema es que, en la cadena asociada en "OnClick" llamo a una función ("MoverARegistro") que necesita como parámetro una instancia del formulario actual, y no sé cómo hacerlo para que funcione. Este es mi código:
Public Sub InicializaNavegacion(MiForm As Form)
Dim strClick as string
'Asignar procedimiento de evento a los botones de navegación
strClick = "= MoverARegistro(" & MiForm & ","
MiForm.Controls("cmdPrimero").OnClick = strClick & acFirst & ")"
MiForm.Controls("cmdAnterior").OnClick = strClick & acPrevious & ")"
MiForm.Controls("cmdSiguiente").OnClick = strClick & acNext & ")"
MiForm.Controls("cmdUltimo").OnClick = strClick & acLast & ")"
End Sub
Esto no compila porque MiForm no es ni un número ni un string. Intento pasar MiForm como Object y tampoco funciona (da error no en compilación, sino en tiempo de ejecución).
¿Alguna idea?
Muchas gracias.
Siguiendo algunas ideas vistas en el foro, intento aislar el código asociado a los botones de navegación de un formulario (botones propios, no los que Access proporciona por defecto). Para ello, tengo, entre otras cosas, una función que llamo "InicializaNavegacion" que asocia procedimientos de evento a mis botones "anterior, siguiente, primero, último". El problema es que, en la cadena asociada en "OnClick" llamo a una función ("MoverARegistro") que necesita como parámetro una instancia del formulario actual, y no sé cómo hacerlo para que funcione. Este es mi código:
Public Sub InicializaNavegacion(MiForm As Form)
Dim strClick as string
'Asignar procedimiento de evento a los botones de navegación
strClick = "= MoverARegistro(" & MiForm & ","
MiForm.Controls("cmdPrimero").OnClick = strClick & acFirst & ")"
MiForm.Controls("cmdAnterior").OnClick = strClick & acPrevious & ")"
MiForm.Controls("cmdSiguiente").OnClick = strClick & acNext & ")"
MiForm.Controls("cmdUltimo").OnClick = strClick & acLast & ")"
End Sub
Esto no compila porque MiForm no es ni un número ni un string. Intento pasar MiForm como Object y tampoco funciona (da error no en compilación, sino en tiempo de ejecución).
¿Alguna idea?
Muchas gracias.
Valora esta pregunta
0