La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1054 - SALIR DE UN FORMULARIO SIN GRAVAR LOS CAMBIOS
Autor:  Juan
En los formularios de access si creas una tecla para salir y que ejecute Docmd.close graba los cambios que has hecho, lo que quiero es que nos los grabe.

  Respuesta:  Juan Emilio Amorós Cantó
Hay dos soluciones sencillas:
1ª.- Si se trata sólamente de un campo:
(ej: supongamos que el campo se llama direccion, antes de actualizar introduces un procedimiento de evento en dicho campo en el que además de controlar lo que quieras,pones: Me!dirección.Undo y el cambio NO SURTIRA EFECTO.
2ª.- Si se trata del registro entero:
(ej: Añades un botón Cancelar (o como quieras llamarle) y en el procedimiento de evento escribes Me.Undo (simplemente).

Los cambios NO SURTIRAN EFECTO.
Si tienes alguna duda escríbeme.

  Respuesta:  Jose Luis
Hola:
Creo que te refieres a los cambios en los registros.
Si has cambiado de registro o has guardado no se puede deshacer.
Para deshacer el cambioen el campo activo se puede utilizar la tecla Esc, si la presionas 2 veces deshaces los cambios en todos los campos del registro activo.Así que podrías utilizar SendKeys "{ESC}" dos veces. Un problema que me da es que si no se ha hecho ninguna modificación me da un error por lo que antes del sendKeys le mando que haga algo para que no de error.

  Respuesta:  Angel
Si cierras un formulario mediante DoCmd.close lo normal es que te pregunte si quieres salvar cambios: supongamos que tenemos un formulario llamado "pepe", ejecutamos

docmd.close acform,"pepe"

con este comando se cerrará el informe y nos preguntará si queremos guardar los cambios si aun así te guarda los cambios prueba a hacer esto:

DoCmd.Close acForm, "pepe", acSaveNo

Y te aseguro que no salvará,

ala,taluego