Tratamiento de error código vba
Me surge un problema en mi nueva BD:
Tengo un formulario con un subformulario en modo formularios continuos relacionados por un campo numérico. En el subformulario hay un cuadro combinado para elegir un código que no puede ser duplicado. Encontré este código por internet para suprimir el mensaje de error de datos duplicados de access 2007 por este en el evento del subformulario "al ocurrir error":
Private Sub Form_Error(DataErr As Integer, Response As Integer)
'Debug.Print "DataErr = "; DataErr 'el error de duplicados es el 3022
'el error que dice no puede guardar el registro es 2169
If DataErr = 3022 Then
MsgBox " Este Dato ya está Registrado ," & Chr(13) & "EL Nº YA ESTA EN USO, DATOS DUPLICADOS", vbCritical, "ERROR ENTRADA DE DATOS"
SendKeys "{ESC 2}"
Response = acDataErrContinue
Else
Response = acDataErrDisplay
End If
End Sub
El código funciona bien pero necesito que el cuadro combinado vaya actualizando otros campos como descripción por ejemplo al elegir el nº de código va mostrando la definición para ello en el evento después de actualizar le puse el código
Me. Requery
Todo bien, el problema se presenta cuando eliges un numero de código ya en uso, entonces access devuelve el típico mensaje de depurar porque lógicamente si el dato esta duplicado no se puede realizar Me. Requery. Lo que necesito es que cunado se introduzca un dato duplicado salte el mensaje del código advirtiéndolo, borre el dato que hemos introducido y pare el código Me. Requery para que no haga ese error.