Access - Codigo ACCES guardar o no guardar en formularios

 
Vista:
sin imagen de perfil

Codigo ACCES guardar o no guardar en formularios

Publicado por Cristian (7 intervenciones) el 17/05/2015 17:22:10
Actualmente termine de realizar dos bases de datos, me di cuenta de un problema, el cual es que cerrando el formulario, todo lo que escribieras se guardaba automáticamente, entonces le puse un código para solucionar esto, pero el código que le puse tiene el siguiente problema:

Cuando cierro el formulario me pide su desea guardar o no y si le digo a no me salta un error y me depura la aplicación y me la bloquea o me cierra las macros.

Puede alguien ayudarme con el problema?

Este es el código que he usado.


Private Sub Form_Unload(Cancel As Integer)
If MsgBox("¿desea guardar cambios?", vbInformation + vbYesNo, "Hola") = vbNo Then

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

End If
End Sub
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Codigo ACCES guardar o no guardar en formularios

Publicado por Norberto (753 intervenciones) el 18/05/2015 09:52:43
Hola.

El comando DoMenuItem se mantiene por cuestiones de compatibilidad con las versiones más antiguas de Access. En su lugar, es mejor usar DoCmd.RunCommand acCmdUndo. También puedes usar Me.Undo para deshacer los cambios en un formulario o Me.Control.Undo para un control concreto.

Otra cosa es "que llegues a tiempo". Quiero decir que, para cuando se produzca el evento Unload es posible que ya se haya guardado el registro. Pruebalo a ver.

Un saludo,

Norberto.
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
sin imagen de perfil

Codigo ACCES guardar o no guardar en formularios

Publicado por Cristian (7 intervenciones) el 18/05/2015 16:22:18
Muchas gracias por tu aportacion Norberto, pero cuando modifico ese codigo me salta un error y se me bloquea acces....nose que hacer la verdad....

Tiene que haber una manera para que al cerrar el formulario me pida guardar o no y que si le digo que no no me depure el programa y me detenga todas las macros...

Nose si me he explicado con claridad.... lo siento

Gracias por tu aportación Saludos
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Codigo ACCES guardar o no guardar en formularios

Publicado por Norberto (753 intervenciones) el 19/05/2015 14:37:33
Hola.

Te subo un ejemplo. Verás que hay un botón para permitir la edición del registro. Si no lo pulsas no se puede modificar. Cuando lo pulsas se activa el modo de edición. Si empiezas a modificar el registro, se muestran sendos botones para guardar los cambios y deshacerlos, respectivamente. Si has comenzado a modificar y no guardas o deshaces los cambios, no te deja cambiar de registro y, si intentas cerrar el formulario, te da un aviso (eso lo hace Access) y si lo cierras no guarda los cambios del registro.

Un saludo,

Norberto.
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
Imágen de perfil de douglas

Codigo ACCES guardar o no guardar en formularios

Publicado por douglas (280 intervenciones) el 18/05/2015 18:02:38
ok por la naturaleza del acces el se actualiza automático en tu base de datos.
Lo que puedes hacer es usarlo con variables por ejemplo

un campo de texto llamado Nnombre. y que al darle al botón guardar te guarde en la base de datos
en Nombre.

otra forma es que pongas tu formulario en bloqueado si y pones un botón para modificar con la siguiente sentencia
Me.Secundarioxxx.Locked=false

o que pongas en el evento del formulario en datos no guardados un campo if


IF not me.NewRecord Then
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
Imágen de perfil de douglas

Codigo ACCES guardar o no guardar en formularios

Publicado por douglas (280 intervenciones) el 18/05/2015 20:01:31
La idea es que el evento aparezca antes de actualizar y no después ya que luego tendrás serios problemas para revertir los cambios.
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
sin imagen de perfil

Codigo ACCES guardar o no guardar en formularios

Publicado por Cristian (7 intervenciones) el 18/05/2015 20:11:50
Hola Douglas gracias por tu aportación, pero soy un usuario medio en esto de los codigos, lo que facilitaria que me ayudaras a como crear el codigo que me estas describiendo, estoy aprendiendo poco a poco, pero me urge ese codigo para la base de datos ya que no consigo que un codigo me guarde o no un registro y se me notifique que si quiero guardar o no antes de cerrar el formulario.

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
Imágen de perfil de douglas

Codigo ACCES guardar o no guardar en formularios

Publicado por douglas (280 intervenciones) el 18/05/2015 21:22:29
Ok en cada formulario buscas en la hoja de propiedades en la pestaña Eventos
la opción En Datos no guardados creas un evento y copias lo siguiente

1
2
3
4
5
6
7
8
9
10
11
´diseñado por Douglas M
If Not Me.NewRecord Then
        Respuesta = MsgBox("Va a proceder a modificar el registro" & vbCrLf & _
                            "Cualquier cambio sera guardado directamente" & vbCrLf & vbCrLf & _
                    "¿Desea continuar?", vbQuestion + vbYesNo, "LOS DATOS SERAN MODIFICADOS")
        If Respuesta = vbNo Then
            Cancel = True
        Else
	'Se haran los cambios
         End If
  End If


Buena suerte
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
sin imagen de perfil

Codigo ACCES guardar o no guardar en formularios

Publicado por Cristian (7 intervenciones) el 19/05/2015 11:28:01
Buenos dias douglas, he seguido todos tus pasos y e copiado el codigo y puesto y no me aparece ningun mensaje de guardar o no, sabes porque ?
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
Imágen de perfil de douglas

Codigo ACCES guardar o no guardar en formularios

Publicado por douglas (280 intervenciones) el 19/05/2015 16:33:22
Adjunto ejemplo

Pruébalo tratando de editar algún campo
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