Error de actualización de registro en access desde VB
Espero que puedas ayudarme en mi problema.
Resulta que quiero actualizar un registro "X" (más específicamente datos de una persona) desde vb pero a la hora de intentar guardar los cambios me salta el siguiente mensaje:
Error 3022 en tiempo de ejecusion:
Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en el índice, clave principal o relación. Cambie los datos en el campo o los campos que contienen datos duplicados, quite el índice o vuelva a definir el índice para permitir entradas duplicadas e inténtelo de nuevo.
El código que tengo en vb es el siguiente:
Private Sub cmdGuardar_Click()
Set acc = DB.OpenRecordset("tblUsuario", dbOpenTable)
acc.Edit
acc!ApellidoNombre = txtApeNom
acc!DNI = txtDNI
acc!Alias = txtAlias
acc!Password = txtPass
acc!Telefono = txtTelefono
acc!direccion = txtDireccion
acc!Email = txtEmail
acc!idCliente = Val(txtID)
acc.Update
acc.Close
Todo estos datos traigo desde otro formulario que es un list lo pongo por si las dudas al código:
Set acc = DB.OpenRecordset("tblUsuario", dbOpenTable)
buscar = lstClientes.List(lstClientes.ListIndex)
acc.Index = "iApeNom"
acc.Seek "=", buscar
If Not (acc.NoMatch) Then
frmModificarDatos.txtAlias = acc!Alias
frmModificarDatos.txtApeNom = acc!ApellidoNombre
frmModificarDatos.txtDireccion = acc!direccion
frmModificarDatos.txtTelefono = acc!Telefono
frmModificarDatos.txtDNI = acc!DNI
frmModificarDatos.txtEmail = acc!Email
frmModificarDatos.txtPass = acc!Password
frmModificarDatos.txtID = acc!idCliente
frmModificarDatos.Show
Else
MsgBox "Nose encontro nada", vbCritical
End If
Ahora bien, el problema creo que es el idCliente en mi base de datos es un campo numérico y clave principal.
Intente también actualizar en la otra tabla con la cual esta relacionada pero sigue saliendo el mismo error...
¿Qué esta mal? Y como podría solucionarlo, desde ya muchísimas gracias por tu tiempo
un saludo
Resulta que quiero actualizar un registro "X" (más específicamente datos de una persona) desde vb pero a la hora de intentar guardar los cambios me salta el siguiente mensaje:
Error 3022 en tiempo de ejecusion:
Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en el índice, clave principal o relación. Cambie los datos en el campo o los campos que contienen datos duplicados, quite el índice o vuelva a definir el índice para permitir entradas duplicadas e inténtelo de nuevo.
El código que tengo en vb es el siguiente:
Private Sub cmdGuardar_Click()
Set acc = DB.OpenRecordset("tblUsuario", dbOpenTable)
acc.Edit
acc!ApellidoNombre = txtApeNom
acc!DNI = txtDNI
acc!Alias = txtAlias
acc!Password = txtPass
acc!Telefono = txtTelefono
acc!direccion = txtDireccion
acc!Email = txtEmail
acc!idCliente = Val(txtID)
acc.Update
acc.Close
Todo estos datos traigo desde otro formulario que es un list lo pongo por si las dudas al código:
Set acc = DB.OpenRecordset("tblUsuario", dbOpenTable)
buscar = lstClientes.List(lstClientes.ListIndex)
acc.Index = "iApeNom"
acc.Seek "=", buscar
If Not (acc.NoMatch) Then
frmModificarDatos.txtAlias = acc!Alias
frmModificarDatos.txtApeNom = acc!ApellidoNombre
frmModificarDatos.txtDireccion = acc!direccion
frmModificarDatos.txtTelefono = acc!Telefono
frmModificarDatos.txtDNI = acc!DNI
frmModificarDatos.txtEmail = acc!Email
frmModificarDatos.txtPass = acc!Password
frmModificarDatos.txtID = acc!idCliente
frmModificarDatos.Show
Else
MsgBox "Nose encontro nada", vbCritical
End If
Ahora bien, el problema creo que es el idCliente en mi base de datos es un campo numérico y clave principal.
Intente también actualizar en la otra tabla con la cual esta relacionada pero sigue saliendo el mismo error...
¿Qué esta mal? Y como podría solucionarlo, desde ya muchísimas gracias por tu tiempo
un saludo
1 Respuesta
Respuesta de luis45ccs
1