Imprimir página | Cerrar ventana

Duplicación de registros en formulario

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86871
Fecha de impresión: 26/Marzo/2026 a las 20:57


Tema: Duplicación de registros en formulario
Publicado por: Israel
Asunto: Duplicación de registros en formulario
Fecha de publicación: 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.



Respuestas:
Publicado por: Israel
Fecha de publicación: 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 


Publicado por: pitxiku
Fecha de publicación: 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?


Publicado por: Israel
Fecha de publicación: 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 


Publicado por: pitxiku
Fecha de publicación: 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.


Publicado por: Israel
Fecha de publicación: 12/Marzo/2024 a las 22:25
Muchas gracias. Me ha funcionado.



Imprimir página | Cerrar ventana