Problema al colocar un RUT que ya existe

Quería pedirles de su ayuda con este problema que apareció.

Iré mostrando el proceso donde me ocurre el error. Tengo un formulario donde ingreso una factura de compra y agrega el nombre del proveedor que no esta en la lista.

Al presionar "SI" me envía al formulario de proveedores donde tengo que ingresar los datos del nuevo proveedor.

Y cuando ingreso el rut del nuevo proveedor me indica que ya existe y tiene toda la razón ya que lo revise y si esta solo que con otro nombre.

Presiono el botón de "aceptar" para que me muestre los datos del rut que esta repetido y cambiar el nuevo nombre que tiene el proveedor, pero me sale un error.

Me dirijo a ver el código para saber cual es el error y me muestra esto.

Aquí es donde necesito de ayuda para saber que esta pasando y corregir el problema. Si necesitan saber algo mas favor hacerlo saber para enviar la información necesario y así descubrir el problema.

1 Respuesta

Respuesta
1

El problema está en que el formulario lo abres (desde el código del evento "al no estar en la lista") en forma de solo agregar registro (con el acFormAdd del DoCmd. OpenForm) y por tanto, "no existen" en el origen del formulario los registros anteriores y en consecuencia, el FindFirst no encuentra el registro en el origen del formulario y te salta el error al intentar ir a él.

Como en el evento Form_Load ya tienes que se te vaya a un registro nuevo, yo quitaría el acFormAdd del evento "al no estar en la lista" y en teoría te debería funcionar.

Private Sub CODIGO_ARTICULO_NotInList(NewData As String, Response As Integer)
Dim CodigoArticulonuevo As Integer, título As String', mensaje As Integer
título = "EL CODIGO QUE HAS ESCRITO NO ESTA EN LA LISTA"
'mensaje = vbYesNo + vbDefaultButton1 
CodigoArticulonuevo = MsgBox("DESEAS AGREGAR ESTE CODIGO", vbYesNo + vbQuestion, título)
If CodigoArticulonuevo = vbYes Then
'DoCmd.RunCommand acCmdUndo
DoCmd.OpenForm "ARTICULOS", acNormal, "", "", , acDialog,NewData
Response = acDataErrAdded
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas