Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

error 3022 ACCESS 2007

Estas en el tema de error 3022 ACCESS 2007 en el foro de Bases de Datos General en Foros del Web. haber tengo el siguiente problema tengo una tabla de nombre catalogo y varias tablas mas pero exite una relacion de 1 a muchos entre catalgo ...
  #1 (permalink)  
Antiguo 20/10/2010, 09:48
 
Fecha de Ingreso: abril-2010
Mensajes: 30
Antigüedad: 14 años
Puntos: 0
error 3022 ACCESS 2007

haber tengo el siguiente problema tengo una tabla de nombre catalogo y varias tablas mas pero exite una relacion de 1 a muchos entre catalgo y por ejemplo autor
es decir 1 catalogo tiene muchos autores por dar una referenciaa
bien he generado mis formulario con el asistente de formularios y todos mis campos son dependientes.
para generar mi un registro nuevo hago:
Código:
Private Sub Comando13_Click()
Me.IdArtista = Nz(DMax("idArtista", "ARTISTA"), 0) + 1
'Me.idCatalogo = ""
Me.nombreArt = ""
Me.apellidoArt = ""
Me.correoArt = ""
End Sub
el problema es que me permite generar y guadar registros pero cuando quiero cambiar de pestaña o cerrar el formulario reconoce q el ultimo dato ya guardado lo toma como que si quisiera nuevamente guardar el registro nuevamente y me dice que el id ya existe y que se esta generando duplicidad de indice y de lo contrario si hago que despues de guardar pongo a blanco todos o a null me dice que ese tipo de dato no es correcto

quisira saber si hay alguna manera de solucionar esto

gracias

para guardar un registro hago:
Código:
Dim dbs As dao.Database
Dim strSQL As String

Set dbs = CurrentDb
'--- VARIABLES ---

If Me.IdArtista <> "" Then

        strSQL1 = "INSERT INTO ARTISTA ([IdArtista],[idCatalogo], [nombreArt], [apellidoArt], [correoArt])" _
                         & "VALUES (" & Me.IdArtista & "," & Me.idCatalogo & ", '" & Replace(Me.nombreArt, "'", "''") & "', '" & Replace(Me.apellidoArt, "'", "''") & "', '" & Me.correoArt & "')"
         dbs.Execute strSQL1
         dbs.Close
     MsgBox "Artista Guardado", vbOKOnly, "Datos Guardados"
        

'--- inicializar campos ---
'Me.idCatalogo = ""
'Me.nombreArt = ""
'Me.apellidoArt = ""
'Me.correoArt = ""

Else
         MsgBox "Artista no Guardado", vbOKOnly, "Datos Guardados"
    End If
End Sub
  #2 (permalink)  
Antiguo 21/10/2010, 02:49
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: error 3022 ACCESS 2007

Si los campos son dependientes, no es necesario generar nigun codigo ni sql de inserccion para guardar el registro. Se guarda el solito al cambiar de regiastro, al cerrar el form, o forzando tu mismo que se guarde. Es decir, me da que lo estas guardando dos veces, de ahi el mensaje de error.

Un saludo

Etiquetas: access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:01.