Visual Basic - Interceptar error 3022 de Access

Life is soft - evento anual de software empresarial
 
Vista:

Interceptar error 3022 de Access

Publicado por Arancha (27 intervenciones) el 17/04/2001 18:09:48
Hola, intento averiguar como interceptar desde Visual un error producido por Access al intentar insertar un campo con una clave que ya existe en una tabla. Aparentemente no produce ningún error, y simplemente no lo inserta, pero me interesaría saber cómo saber que el campo ya existe. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Interceptar error 3022 de Access

Publicado por nikolaievp (50 intervenciones) el 17/04/2001 18:29:11
no se por donde lo estas tratando de insertar si por una instruccion sql o utilizando el recordset
si utilizas el recordset cuando haces el .update este de inmediato te debe arrojar el error si la llave se esta duplicando, si te ayuda en algo para interceptar errores debes hacer esto por ej:
Private Sub command1_click()
On Error GoTo tim2

'aqui estara tu codigo en donde intentas insertar los registros

tim2:
Select Case Err.Number
Case 0
Resume Next
Case 20
Resume Next
case 3022
'este es el error que quieres capturar
e ignorar
resume next
Case Else
msgbox err.descrip`tion
End Select
end sub

de esta forma capturas los posibles errores que te puedan generar los codigos de tus programas, espero haberte ayudado


chiao att:nikolai
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interceptar error 3022 de Access

Publicado por Arancha (27 intervenciones) el 17/04/2001 20:20:23
Lo estoy haciendo con instrucciones SQL, y no veo la manera de hacerlo. Gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interceptar error 3022 de Access

Publicado por nikolaievp (50 intervenciones) el 18/04/2001 18:15:22
intentalo con un recordset
dim db as database
din rs as recordser
set db = opendatabase("c:nn.mdb")
set rs = db.openrecordset("tabla1")
tabla1.addnew
tabla1!campoid = "102532" 'digamos que ya existe
tabla1!campo2 = 2345
tabla1!campo3 = "alberto plaza"
etc..
tabla1.update ' como ya existe la llave te arroja
el error en esta linea pero como
tienes la rutina de captura de
errores en teoria deberia
capturarlo
rs.close
db.close
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interceptar error 3022 de Access

Publicado por Arancha (27 intervenciones) el 18/04/2001 19:50:17
Gracias por tu ayuda, ya lo he resuelto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar