Access - fallo al cerrar formulario

 
Vista:

fallo al cerrar formulario

Publicado por txe (2 intervenciones) el 08/04/2008 13:41:31
Hola

Tengo un formulario con un boton cancelar para que cierre el mismo sin guardar ningun cambio realizado en los datos, pero no lo consigo.

El boton activa una macro cuya accion es cerrar formulario. En las especificaciones de la acción cerrar, en el apartado guardar, tanto si le indico no como si le indico preguntar, siempre me guarda los cambios. (aunque active las advertencias).

Si solo hubiera un cambio, seria sencillo, diciendole deshacer, pero al ser varios no funciona.

¿como lo puedo soluciona?

gracias

un saludo
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

RE:fallo al cerrar formulario

Publicado por Gerardo Asprea (40 intervenciones) el 08/04/2008 17:50:21
Yo he visto algunas veces algo como sigue:

LLenar los datos en un formulario (independiente o algo asi). Luego, con un boton, se pasan de ese formulario al formulario que utiliza datos de la tabla.

Es solo una idea, yo estoy tratando de hacer lo mismo.
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

RE:fallo al cerrar formulario

Publicado por Yair Escudero (44 intervenciones) el 08/04/2008 18:08:06
Hola

Lo que te sucede es debido a que tu formulario es un formulario vinculado y como access trabaja en forma conectada solo basta con que cambies de registro para que este se guarde. para evitar esto como dice el otro compañero debes crear un formulario independiente es decir que no este vinculado de manera que seas tu el que controle cuando se guarda algo y cuando NO.

adicionalmente para cerrar un formulario no hace falta un macro pues con uns sola instruccion se puede hacer.

Por Ej:
form1.close()
me.close()

Espero te sirva mi aporte
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

RE:fallo al cerrar formulario

Publicado por Enrique (1299 intervenciones) el 08/04/2008 19:29:57
Hay una forma de cancelar los cambios hechos en un registro y salir del formulario, usando controles "Dependientes" que es lo habitual, siempre que se pulse el botón "Cancelar" antes de cambiar de registro. Lo que ocurre es que el Comando acCmdUndo, provoca un error si se ejecuta cuando NO hemos hecho ningún cambio, por eso hay que interceptar ese posible error con un On Error Goto. Algo así:

Private Sub BotonCancelar_Click()
On Error GoTo Salida
DoCmd.RunCommand acCmdUndo
DoCmd.Close
Exit Sub
Salida:
DoCmd.Close
End Sub

Si ha habido cambios, se ejecuta acCmdUndo y cierra el formulario, pero si no ha habido cambios, salta al control de error "Salida" y tambien cierra el formulario, sin guardar cambios en ambos casos.

De todas formas, al cambiar de registro sí se guardan los cambios y si queremos controlar también esto, habría que usar el Evento Form_BeforeUpdate (Antes de actualizar) con un MsgBox que nos pregunte si queremos guardarlo o no. Por supuesto que estoy de acuerdo con los compañeros Gerardo y Yair que lo mejor es trabajar con controles "Independientes" en estos casos, pero esto requiere unos conocimientos en el manejo de Recordset ADO o DAO que no todo el mundo sabe hacerlo.

Saludos
Enrique
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