Pregunta

¿Es posible pasar por alto el evento antes de cubrir?Tengo algún código en mi evento antes de continuar cuando se realiza un intento de guardar el registro, sin embargo, en el mismo formulario tengo un subformulario que requiere que el usuario seleccione un registro en ese subformulio.A medida que cambia el enfoque del registro actual, activa mi código antes de cubrir, lo que no quiero que haga.

¿Hay una forma de pasar por adelgazar el evento antes de la fecha de datos cuando el usuario hace clic en un registro en el subformulario de un formulario?

¿Fue útil?

Solución

"¿Hay una forma de pasar por adelgazar el evento antes de la información de la forma cuando el usuario hace clic en un registro en el subformulario de un formulario?"

Cuando cambia el enfoque en un subformulario con un registro no guardado en el formulario principal, el acceso intentará automáticamente guardar el registro principal "sucio".

Ese comportamiento está integrado en acceso y no puede prevenirlo.

Creo que deberías usar un enfoque diferente. Actualmente (según la discusión de los comentarios), tiene un botón de comando para guardar el registro principal. Sin embargo, si ciertos controles contienen NULL, aborta el evento GURAR del FORMULARIO BESEUPDATE .

Desde mi punto de vista, el usuario ni siquiera debería poder hacer clic en el botón Comando cuando alguno de esos controles contiene NULL. (¿Por qué hágales clic en un botón y luego infórmales, la acción no es válida?) Por lo tanto, le sugiero que solo habilite el botón Comando cuando todos esos controles contienen valores no nulos.

Considere un botón de comando llamado CMDSave y 3 cuadros de texto: txtone , txtttwo , y txtthree . Cree un procedimiento, SETBUTTONEVEAPEPIENDABILIDAD , y llame a ese procedimiento en los eventos AUTUPUTDATE de los 3 cuadros de texto.

Private Sub SetButtonAvailability
    If IsNull(Me.txtOne) Or IsNull(Me.txtTwo) Or IsNull(Me.txtThree) Then
        Me.cmdSave.Enabled = False
    Else
        Me.cmdSave.Enabled = True
    End If
End Sub

También en el evento ONCURENTE de Formulario, usted haría Me.cmdSave.Enabled = False porque aún no hay cambios para el registro actual para guardar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top