Access - No guardar registro automaticamente

 
Vista:

No guardar registro automaticamente

Publicado por Yo (2 intervenciones) el 21/07/2007 19:43:47
Hola!!!

Como puedo hacer para que en un formulario, un registro no se grabe automaticamente? Es decir, que solo al dar click sobre un boton se grabe....

He probado varias cosas pero no me funcionan del todo... por ejemplo con el AllowAdditons o desabilitando todos los botones del formulario y dejando habilitado solo el guardar... pero si estoy en un nuevo registro y muevo el scroll del mouse puedo moverme de registro facilmente y me graba el que estaba haciendo... como puedo evitar esto??

Muchas gracias!!
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:No guardar registro automaticamente

Publicado por Pepe (766 intervenciones) el 22/07/2007 12:01:33
Una forma sencilla de hacerlo usando solo el formulario para añadir registros
es la siguiente:

El formulario que actualmente tienes tiene que ser independiente es decir no tiene que tener nada en el origen del registro.

Por consiguiente todos los campos que tienes en el formulario tampoco deben de tener nada en el origen del control.

Crea una consulta del tipo de "datos anexados", en la linea campo de cada columna le pones un campo del formulario y que se guarden en la tabla que tu quieres.

Para abrir la consulta, lo puedes hacer desde un botón que pongas en el formulario.

Suerte, Pepe
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:No guardar registro automaticamente

Publicado por Yo (2 intervenciones) el 23/07/2007 16:32:06
Tienes razon! Esa es una buena opcion!!

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

RE:No guardar registro automaticamente

Publicado por mi menda (1111 intervenciones) el 24/07/2007 00:29:49
Muy ingenioso Pepe, es una buena opción.
Tambien puedes comprobar la propiedad Dirty del formulario.Cuando se esta añadiendo un nuevo registro o se modifica algo de un registro ya existente, esta propiedad se pone a True.

Un Saludo
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:No guardar registro automaticamente

Publicado por Juan (1 intervención) el 16/02/2023 01:18:49
Alguna solución a qué una ves saco el cartel de guardar como,
aparece nuevamente y no puedo hacer nada más
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:No guardar registro automaticamente

Publicado por Ale (1 intervención) el 29/08/2007 13:26:50
La solución que propone Pepe me parece acertada, pero aquí tienes otra opción, en la cual no hace falta crear un formulario independiente, ni crear una consulta de datos anexados:

Como has dicho, configura la opción AllowAdditions a False. Pero debes hacer lo siguiente también.

Cuando llames al formulario, llámalo de la siguiente forma:

DoCmd.OpenForm <N ombre del formulario>, , <Condición>

donde "Condición" es una condición que cumpla sólo el registro que tú quieres abrir. Por ejemplo, si tu tabla tiene un campo autonumérico (por ejemplo un campo llamado "id"), de modo que cada registro tenga un identificador único, esa es la condición que debes escribir (ej: "id = 256")

De esta forma, en el formulario sólo se cargará el registro que tú quieres, y no te dará la opción de crear uno nuevo. Por lo tanto, aunque muevas el scroll, no te moverás de tu registro.

Finalmente, lo último que debes hacer es crear dos botones en tu formulario.

Uno para guardar con el código:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Y otro para cancelar con el código:
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

Espero que te sirva
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

Evitar guardar registros automaticamente

Publicado por Daniel (1 intervención) el 18/11/2016 15:13:11
En el evento "Antes de Actualizar" del formulario incluir algo parecido a esto

Private Sub Form_BeforeUpdate(Cancel As Integer)
'----------------------------------------------
' Preguntar si se han de guardar los cambios
'----------------------------------------------

If (MsgBox("Desea guardar los datos", vbOKCancel, "Datos introducidos y no guardados") = vbCancel) Then
Cancel = True
End If

End Sub

Con o sin la combinación de cambiar el ciclo de "Todos los Registros" al "Registro Actual" y si queremos deshacer los cambios que se hayan podido producir. También se puede incluir en el procedimiento del evento: "Me.Undo" Pero no lo creo necesario, pues el propio usuario con solo pulsar [ESC], ya pude obtener el mismo efecto.

Saludos Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jeremias

Evitar guardar registros automaticamente

Publicado por Jeremias (5 intervenciones) el 30/12/2023 03:18:24
GRACIAS POR LA AYUDA, FUNCIONA BIEN, PERO HAY UN DETALLE, DESPUES QUE SALE EL MENSAJE DESEA GUARDAR LOS CAMBIOS Y PRESIONO EN CANCELAR, ME MUESTRAS OTRO ENSAJE DE ACCESS, COMO DESACTIVO EL SEGUNDO MENSAJE..GRACIAS

Sin-titulo2
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