Access - Instrucción correcta MgsBox

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Instrucción correcta MgsBox

Publicado por Jaime (6 intervenciones) el 13/02/2020 19:49:17
Tengo un formulario de consulta donde al abrir pretendo ver o modificar la información del mismo, solo que no se que instrucción poner al darle "No" al MsgBox, para que no me guarde los cambios realizados, esto es lo que tengo al momento, agradezco su ayuda, saludos

1
2
3
4
5
6
7
8
9
10
Private Sub Comando31_Click()
On Error Resume Next
Dim Guardar As Integer
Guardar = MsgBox("Desea guardar los cambios?", vbQuestion + vbYesNo + vbDefaultButton1, "VYSEEC")
If Guardar = vbYes Then
DoCmd.Close
Else
?
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Instrucción correcta MgsBox

Publicado por Jaime (6 intervenciones) el 13/02/2020 20:10:03
Lo puedes realizar con Me.Undo
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

Instrucción correcta MgsBox

Publicado por Anonimo (3316 intervenciones) el 13/02/2020 22:54:45
¿Guardar los cambios = Cerrar (lo que sea)?

Es aconsejable que se le indique el tipo de objeto y se especifique el nombre, cerrar por cerrar es poco ortodoxo, algo como:

1
DoCmd.Close AcForm, Me.Name
===> el formulario activo (no otro objeto cualquiera)

Guardar es la opción por defecto de salida de un formulario con datos modificados

Lo adecuado seria confirmar el deseo de guardar los datos y ejecutar la acción de guardar registro, ya guardados no pedirá confirmación al salir y ….

Apunte:
La acción 'UNDO' si no hay modificaciones en el objeto dará error …. Hay disponible una variable (DIRTY) que informa si se ha modificado el contenido del objeto.
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 Jhonattan
Val: 308
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Instrucción correcta MgsBox

Publicado por Jhonattan (123 intervenciones) el 14/02/2020 16:29:16
Simplemente coloca docmd.cancelevent, con eso no pasa nada
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

Instrucción correcta MgsBox

Publicado por Anonimo (3316 intervenciones) el 14/02/2020 19:41:28
Cancelar un evento y cerrar un formulario -se guarden las modificaciones o no- a mi juicio no parecen ser lo mismo.

Acepto que lo de 'no pasa nada' será referencia a que se aborta la acción que se intenta y por ello 'no pasa nada'.

¿No seria mas adecuado analizar para que puede servir una variable?.....

Si Dirty indica (cuando esta activa) que se ha modificado algo:
1
IF Me.Dirty Then Me.Undo

Y se evita el error que se produce cuando un formulario no tiene cambios que reseñar.
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
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Instrucción correcta MgsBox

Publicado por Jaime (6 intervenciones) el 16/02/2020 02:48:45
Gracias, Me.Undo es lo que utilice
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