Un formulario como parámetro

Hola, estoy haciendo un módulo estándar para ser llamado desde cualquier formulario, en él quiero activar los botones del formulario que lo llamó, pero aquí la pregunta:
No sé de que tipo debe ser el parámetro que recibe lo estoy haciendo de la siguiente manera y no me funciona, me aparece el mensaje de que access no reconoce el formulario con nombre Formu, quisiera saber también cómo envío el parámetro en el llamado al procedimiento, es decir como envío el nombre del formulario que lo llama (entre comillas, corchetes o cómo)
Public Sub ActivarBarraHerramientas(Formu As Form)
Forms!Formu.Controls!Primero.Enabled = True
End Sub
Si pueden ayudarme estaría muy agradecido. Att. Eymard

1 respuesta

Respuesta
1
Los parámetros que le pasas a un Sub o rutina pueden ser tipo form (formulario) con solo especificarselo en la declaración del propio sub (tal y como tu me muestras en tu ejemplo). Para llamar al procedure debes hacerlo sin corchetes ni parantesis. Tan sencillo como:
ActivarBarraHerramientas formu
Te da un error la sentencia
Forms!Formu.Controls!Primero.Enabled = True
porque va a buscar un formulario llamado literalmetne Formu, y seguramente no existe, porque es el propio parametro. Debes utilizar forms(formu)
Prueba algo como...
Private Sub Form_Load()
saca Me
End Sub
Sub saca(f As Form)
Dim miname As String
miname = f.Name
MsgBox Forms(miname).Name
End Sub
Muchas gracias experto Juanito01 tu respuesta fue muy acertada y cubrió mi necesidad, seguiré contando con tus conocimientos cuando lo requiera.
De nuevo gracias. Att: Eymard(Colombia)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas