** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Se guarda registro al cerrar formulario.
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Se guarda registro al cerrar formulario.

 Responder Responder
Autor
Mensaje
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Se guarda registro al cerrar formulario.
    Enviado: 03/Diciembre/2018 a las 09:23
Buenas, he creado un Access el cual es un Formulario para controlar los desechos de material.

Todo funciona bien, pero tengo un problema al cerrar el formulario.
No se porque pero yo meto los datos que tengo que meter de normal para rellenar el formulario, luego los envio y se guardan correctamente;
Pero el problema viene al cerrar el formulario, ya sea con la X de la esquina superior derecha, que con un boton de Cerrar; al cerrar el formulario se crea una linea con los datos que tengo puestos que se pongan automaticamente. El Dia y la Hora.
Vamos que al cerrarlo, simpre se queda una linea con el Dia y la Hora.

Alguien sabe porque es, y como se puede solucionar?

Un Saludo, AritzCas.
Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 10:28
Esa linea o registro se queda guardado??
En los registros los datos predeterminados suelen salir, pero si no empiezas a crar el registro no se deberian guardar
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 10:38
Buenas Rokoko, mi Formulario al abrirse tiene 2 Campos rellenos Automaticamente, el de Dia y el de Hora.

Ellos tienen que rellenar otros 3 Campos.

Si ese registro queda guardado:

Queda asi:


3/12/2018  9:30  45286   14   Problema Maquina.
3/12/2018  9:30 

Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 11:41
Pues tendras algun codigo que te crea el registro, tendras que mirarlo.
Mira este ejemplo como esta hecha la tabla y sus campos. Veras que en un registro nuevo te sale la fecha y hora predeterminada en tabla y en otro puedes meterla con un boton.

https://www.dropbox.com/s/cq7macn4umn3e20/FechaHora.accdb?dl=0
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 11:53
En tu ejemplo, la tabla la cual puedes poner meterlo con un boton, si guardo una con id 6 y se queda abierta el id7,  luego al cerrar y abrir lo de nuevo empieza con el 8.

No se si me he explicado bien.


Editado por AritzCas - 03/Diciembre/2018 a las 11:54
Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 13:58
Pues a mi no me pasa, si el ultimo id queo creo es 10, cierro formulario y al abrir me sale id con un  (Nuevo), le doy al boton y me crea el 11........

Este es el codigo que hay

Private Sub Comando11_Click() 'Con el boton creo el nuevo registro metiendo fecha y hora
DoCmd.GoToRecord , , acNewRec
Me.Fecha = Date
Me.Hora = Time
End Sub

Private Sub Form_Load()  'Se me va a un nuevo registro al abrir el formulario, pero sin crearlo
DoCmd.GoToRecord , , acNewRec
End Sub
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 15:35
Pues yo, guardo el 10, me crea el 12, cierro abro y me parece (Nuevo), le doy al boton u¡y me crea el 12.

No se porque.
Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 737
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Diciembre/2018 a las 18:32
Los formularios de Access funcionan así: Cada vez que se cambia de registro o se cierra el formulario, y siempre y cuando el registro haya sido modificado, se guardan los cambios en la tabla.

Si se está guardando el registro, es porque lo estás modificando, ya sea directamente, o con código, macro o expresiones.

En el código que ha expuesto rokoko, por ejemplo:

DoCmd.GoToRecord , , acNewRec
Me.Fecha = Date
Me.Hora = Time

Va a un registro nuevo, y asigna valores directamente a 2 controles, Fecha y Hora, con lo que el registro se modifica. Al estar modificado, cuando cerramos el formulario, Access lo guarda. Por eso, si usamos ese botón nos crea un registro nuevo en la tabla, mientras que si sólo usamos los botones de navegación de los formularios, no tenemos un registro en la tabla sin datos.

Si no queremos que Access guarde un registro a no ser que sea el usuario el que modifique los datos o determinados campos, podemos usar índices o reglas de validación para indicar qué campos deben ser rellenados  sí o sí, o podemos usar la propiedad Valor predeterminado de los campos y/o controles para asignar esos datos por defecto:

- https://support.office.com/es-es/article/Establecer-valores-predeterminados-para-campos-o-controles-99508D03-B28B-4057-9652-DAC1C4C60D86
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Diciembre/2018 a las 08:35
Buenas Pitxiku, en mi caso tengo reglas de validación para que a la hora de guardar por medio del Boton, te aparezca una ventana diciendo, que hay campos vacios.

El problema es que al guardar y despues cerrar el formulario, se queda una linea con el Dia y la Hora,
y eso lo quiero quitar, porque, si solo se abriria 1 vez y se cerraria, pues igual me puedo aguantar o borrarla a mano, pero se va a abrir como 14 veces al dia; vamos 14 lineas en blanco.

Un Saludo, AritzCas.
Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11642
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Diciembre/2018 a las 08:48
Como apunte: utilizar la propiedad DefaultValue en lugar de una asignación Value (o su predeterminado: nada) evita en muchísimas ocasiones ese efecto que estáis comentando.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 737
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Diciembre/2018 a las 19:33
Revisa el código que tengas (o postéalo aquí). Como hemos dicho, Access sólo guarda un registro nuevo si ha sido modificado de algún modo. Y entiendo que cierras el formulario antes de escribir algo en el registro nuevo.
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 09:17
Buenas a todos, el codigo que utilizo al para registrar o guardar un registro es este;

Private Sub Comando24_Click()
If IsNull(Me.Operario) Or IsNull(Me.Kg_Tirados_Turno) Or IsNull(Me.Motivo) Then
MsgBox "No se puede dejar ningún campo en blanco"
Else
DoCmd.GoToRecord , , acNewRec
End If
End Sub

Lo primero es para que no pueda dejar en blanco ninguno de los 3 campos mas importantes a la hora de guardarlo.
Y luego guardar.

Yo creo que el problema de que se guarde al cerrar, es porque tiene,  3 datos en Automatico. Y los registra el solo.

Un Saludo, AritzCas.


Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 10:54
Por lo que parece es un boton, si no lo ejecutas no entiendo por que al cerrar el formulario te guarda un registro, algo mas tienen que haber....esos campos automaticos como los metes?????
Arriba
AritzCas Ver desplegable
Habitual
Habitual
Avatar

Unido: 23/Octubre/2018
Localización: España
Estado: Sin conexión
Puntos: 121
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AritzCas Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 11:47
Los tengo puestos en la tabla. Y unidos al Formulario.

Recuerden, hoy es el día de mañana que tanto les preocupaba ayer.
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 737
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 18:44
Con esta instrucción:

DoCmd.GoToRecord , , acNewRec

No le dices a Access que guarde el registro. Lo que hace Access es ir a un registro nuevo. Lo que ocurre es que el funcionamiento normal de Access es guardar los cambios cuando nos movemos entre los registros, y por eso lo guarda.

En cuanto a esos datos en "Automático", ¿qué es? Si son campos autonuméricos, Access es lo suficientemente listo para no darles valor hasta que el usuario empieza a crear el registro. Y si les das valor tú por código o expresiones, postea cómo lo haces.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable