Me.Dirty en Formulario
Publicado por Juan (150 intervenciones) el 06/05/2019 19:47:34
Hola a todos,
Estoy usando el Me.Dirty para deshacer cambios en los formularios si no se quieren guardar los cambios.
El código funciona bien, pero el caso es que siempre aparece el msgbox.
Siempre aparece el msgbox porque tengo varios textbox ocultos en el encabezado que al abrir toman el nombre de usuario, y el nivel de permisos de usuario, o sea, el formulario siempre cambia aunque no hagas cambios.
Hay alguna forma de que la funcion Dirty no tenga en cuenta esos textbox?
Otra duda que tengo es que el msgbox, solo aparece cuando tengo Me.Dirty = False, lo tenía en Me.Dirty = True ya que creía que era como tenia que estar y no funcionaba.
Gracias por vuestra ayuda.
Estoy usando el Me.Dirty para deshacer cambios en los formularios si no se quieren guardar los cambios.
El código funciona bien, pero el caso es que siempre aparece el msgbox.
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Close()
If Me.Dirty = False Then
If MsgBox("Desea guardar los cambios?", vbYesNo, "Guardar cambios") = vbNo Then
DoCmd.SetWarnings (WarningsOff)
DoCmd.RunCommand acCmdUndo
DoCmd.SetWarnings (WarningsOn)
Else
DoCmd.RunCommand acCmdSaveRecord
End If
End If
Siempre aparece el msgbox porque tengo varios textbox ocultos en el encabezado que al abrir toman el nombre de usuario, y el nivel de permisos de usuario, o sea, el formulario siempre cambia aunque no hagas cambios.
Hay alguna forma de que la funcion Dirty no tenga en cuenta esos textbox?
Otra duda que tengo es que el msgbox, solo aparece cuando tengo Me.Dirty = False, lo tenía en Me.Dirty = True ya que creía que era como tenia que estar y no funcionaba.
Gracias por vuestra ayuda.

Valora esta pregunta


0