Evento de los botones de desplazamiento

Hola.Me gustaría saber como puedo capturar el evento que sucede cuando cambiamos de registro en un formulario con los botones de desplazamiento sin el Form_Current ni el Before_update. Ya que quiero capturarlo se hayan hecho cambios o no, es decir, siempre que se pulse atrás o adelante.
Muchas gracias.

1 respuesta

Respuesta
1
Una solución es combinar los eventos 'Al activar registro' y 'Al activar' del formulario.
La macro que asocies a 'Al activar registro' se ejecutará siempre que cambie el registro, pero ¡También cuando abras el formulario!. Si no deseas que esto ocurra puedes recurrir al pequeño truco que describo a continuación.
- Define un campo en el formulario, que vamos a suponer que denominas MarcaApertura, con las siguientes características:
Valor predeterminado: 0
Visible: No
- Asocia al evento del formulario 'Al activar' una macro, que podemos denominar Macro0AlActivarFormulario, con una única acción:
· ACCIÓN: EstablecerValor, con los parámetros:
Elemento: [MarcaApertura]
Expresión: 1
- Asocia al evento del formulario 'Al activar registro' otra macro, que denominaremos Macro1AlActivarRegistro, con dos acciones, condicionada la primera:
· ACCIÓN1: EjecutarMacro, con los parámetros:
Nombre de macro: NombreDeLaMacroQueDebeEjecutarseAlCambiarDeRegistro
Número de repeticiones: Sin informar
Expresión de repetición: Sin informar
CONDICIÓN1: [MarcaApertura]=0
· ACCIÓN2: EstablecerValor, con los parámetros:
Elemento: [MarcaApertura]
Expresión: 0
De este modo, la macro que debe ejecutarse al cambiar de registro no se ejecutará cuando abras el formulario.
Como ves, la solución es un poco artesanal, pero funciona SALVO que cambies de registro mediante una macro o un procedimiento de evento. Sólo responde a los cambios que se efectúen directamente en el formulario, por ejemplo, pulsando atrás o adelante, como tú propones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas