Claves repetidas
Hola lo que pasa es que estoy desarrollando una aplicación esn visual 6 y
y aclaro soy primiparo en esto, pero me gusta . Bueno el caso es que por medio de un DSN estoy haciendo consultas sql de insertar datos a una tabla de una base de datos en access por medio de una aplicación en visual, pero resulta que ya allí tengo unos registro cada uno con su clave principal. La cual es irrepetible. Bueno resulta que si voy a ingresar otro registro con una clave primaria ya existente me arroja un error que dice :
( run-time error '-2147467259(80004005)':
Los cambios solicitados en la tabla no se realizaron correctamente por que 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. )
Es decir lo que estoy buscando es el código que me diga por medio de un msgbox("") que la clave que voy a ingresar ya existe y que me muestre con que nombre esta creada la clave existente. O solo que me diga que ya existe.
Y este es el código por el cual estoy guardando los registros a la base de datos de access:
' esta es la conexion por mediomo del boton insertar el cual lo tengo con nombre "insert"
If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Then
MsgBox ("Debes ingresar datos en todos los campos, ok")
Text1 = ""
Text1.SetFocus
Else
'inicializacion de variables declaradas en el modulo
Set cnn = New Connection
Set Rcs = New Recordset
'ruta para la conexión con la basd de datos
cnn.Open ("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=C:\finca.mdb")
'este es el mandato el cual me va a guardar los registros en access
Ssql = "INSERT INTO cintas(codigocinta,colorcinta,cantidad,edad) VALUES ('" & Text1.Text & "', '" & Text2.Text & "', '" & Text3.Text & "' ,'" & Text4.Text & "' )"
'se abre el recordset para que me permita guardar los registros}
'esta es la otra variable del modulo
Rcs.Open Ssql, cnn
MsgBox "Registro grabado"
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1.SetFocus
End If
End Sub
Gracias
Espero me respondas cuanto antes. GRACIAS
y aclaro soy primiparo en esto, pero me gusta . Bueno el caso es que por medio de un DSN estoy haciendo consultas sql de insertar datos a una tabla de una base de datos en access por medio de una aplicación en visual, pero resulta que ya allí tengo unos registro cada uno con su clave principal. La cual es irrepetible. Bueno resulta que si voy a ingresar otro registro con una clave primaria ya existente me arroja un error que dice :
( run-time error '-2147467259(80004005)':
Los cambios solicitados en la tabla no se realizaron correctamente por que 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. )
Es decir lo que estoy buscando es el código que me diga por medio de un msgbox("") que la clave que voy a ingresar ya existe y que me muestre con que nombre esta creada la clave existente. O solo que me diga que ya existe.
Y este es el código por el cual estoy guardando los registros a la base de datos de access:
' esta es la conexion por mediomo del boton insertar el cual lo tengo con nombre "insert"
If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Then
MsgBox ("Debes ingresar datos en todos los campos, ok")
Text1 = ""
Text1.SetFocus
Else
'inicializacion de variables declaradas en el modulo
Set cnn = New Connection
Set Rcs = New Recordset
'ruta para la conexión con la basd de datos
cnn.Open ("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=C:\finca.mdb")
'este es el mandato el cual me va a guardar los registros en access
Ssql = "INSERT INTO cintas(codigocinta,colorcinta,cantidad,edad) VALUES ('" & Text1.Text & "', '" & Text2.Text & "', '" & Text3.Text & "' ,'" & Text4.Text & "' )"
'se abre el recordset para que me permita guardar los registros}
'esta es la otra variable del modulo
Rcs.Open Ssql, cnn
MsgBox "Registro grabado"
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1.SetFocus
End If
End Sub
Gracias
Espero me respondas cuanto antes. GRACIAS
1 respuesta
Respuesta de Roberto Alvarado
1
