Access - Saber que botón se ha pulsado

 
Vista:

Saber que botón se ha pulsado

Publicado por José María (2 intervenciones) el 31/01/2023 19:56:17
Hola

Estoy programando en access con visual basic y tengo una matriz de botones que me funciona bien a la hora de cambiar propiedades en bloque. El problema es que necesito crear un solo evento click válido para todos de manera que yo sepa que botón he pulsado y pueda llamar a un procedimiento con dichos parámetros.

He buscado muchísimo en la web y he visto algunas soluciones para VB studio pero ninguna válida para el VBA del access.

¿Alguien me podría dar alguna pista? Parece un tema bastante complejo

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Saber que botón se ha pulsado

Publicado por Anonimo (3316 intervenciones) el 31/01/2023 20:54:46
Una función a nivel de formulario que como primera acción fuera obtener el botón que se pulso y en base al dato obtenido (el nombre del control) se ejecuta lo que se necesite.

En cada botón en su evento click: Pulsada

Private Function Pulsada()
Dim NControl As String
NControl = Screen.ActiveControl.Name
-- resto de acciones ---
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón se ha pulsado

Publicado por José María (2 intervenciones) el 31/01/2023 21:52:07
Si, he probado el Screen.ActiveControl.Name y es una solución fantástica pero yo quería una solo evento y no tener que crear un evento para cada uno de mis 160 botones.

Lo que he hecho finalmente es crear una funcion en el codigo con el Screen.ActiveControl.Name y luego crear una macro en access que llame a la función. He seleccionado todos los botones a la vez y en evento clic le asocio a todos de una sola vez la misma macro.

Es poco ortodoxo porque no es codigo puro pero me funciona.

Problema resuelto. Muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saber que botón se ha pulsado

Publicado por Anonimo (3316 intervenciones) el 01/02/2023 00:15:41
Si solo se trata de escribir lo mismo 160 veces, eso se puede automatizar al igual que se automatizo asociar la macro al evento.

La solución aportada no caminaba en la línea de implementar la función en cada control, en los controles se llamaba a la función (lo mismo que hace la macro)

Pero sea con una macro o sin la macro lo importante es que funcione.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar