** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Duplicación de registros en formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDuplicación de registros en formulario

 Responder Responder
Autor
Mensaje
Israel Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2023
Localización: España
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Tema: Duplicación de registros en formulario
    Enviado: 24/Febrero/2024 a las 09:43
Buenas, he creado un formulario para introducir datos de la tabla gastos de portal gastos generales. No se por que al reiniciar la base de datos me guarda un registro extra(No es duplicado por que limpio los campos del formulario).

Option Compare Database

Private Sub GastosPortal_Change()
 Me.Cantidad = Me.GastosPortal.Column(2)
End Sub

Private Sub Guardar_Click()
DoCmd.SetWarnings False

    ' Definir la cadena SQL para insertar los datos en la tabla GastosGenerales
    Dim strSQL As String
    strSQL = "INSERT INTO GastosGenerales (Descripción, Cantidad, IdGastosPortal, Fecha) " & _
             "VALUES ('" & Me.Descripción & "', " & Me.Cantidad & ", " & Me.GastosPortal & ", #" & Format(Me.Fecha, "yyyy-mm-dd") & "#)"
    
    ' Ejecutar la instrucción SQL
    DoCmd.RunSQL strSQL
    
   
    
    
    Me.Descripción = ""
    Me.Cantidad = ""
    Me.GastosPortal = ""
    Me.Fecha = Date
DoCmd.SetWarnings True
 MsgBox "El registro se ha guardado correctamente.", vbInformation, "Guardar Registro"



End Sub 

El resultado es que al salir de la base de datos me añade un registro vacio.
Arriba
Israel Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2023
Localización: España
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 24/Febrero/2024 a las 10:04
Adjunto el enlace la base de datos a ver si alguien me puede decir que esta pasando. 
Gracias  
https://we.tl/t-g93uGYLNDz 
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1518
Enlace directo a este mensaje Enviado: 24/Febrero/2024 a las 14:35
Si vas a controlar los registros vía código vba, el formulario no debe tener nada en su propiedad Origen del registro, porque si no, Access seguirá gestionando los registros.

¿Qué tienes en la propiedad Origen del registro del formulario?
Arriba
Israel Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2023
Localización: España
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 24/Febrero/2024 a las 17:28
SELECT GastosGenerales.Descripción, GastosGenerales.Cantidad, GastosGenerales.Fecha FROM GastosGenerales;  
esto tengo en origen del registro del formulario. Entonces puede venir por ahí el error? 

Lo que pasa que al quitar el origen del registro no me deja escribir en los campos y me aparecen con errores como este cada uno de los campos como este "#¿Nombre?"
De antemano muchas gracias.

Aquí tenéis la base de datos por si podéis echarle un ojo.
https://we.tl/t-g93uGYLNDz 


Editado por Israel - 24/Febrero/2024 a las 17:32
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1518
Enlace directo a este mensaje Enviado: 24/Febrero/2024 a las 20:20
Lo primero que tienes que decidir es si quieres que sea Access el que controle los registros, o que seas tú mediante vba.

Si dejas que sea Access, elimina todo ese código para guardar registros, porque Access ya sabe cómo hacerlo.

Si quieres ser tú el que lo controle, deja en blanco las propiedades Origen del registro del formulario, y Origen del control de los controles, porque si no, Access seguirá creando registros en blanco, o modificando otros.

Tú decides.
Arriba
Israel Ver desplegable
Nuevo
Nuevo


Unido: 10/Marzo/2023
Localización: España
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 12/Marzo/2024 a las 22:25
Muchas gracias. Me ha funcionado.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable