Error en el uso de DLOOKUP access

Estoy utilizando DLOOKUP para obtener datos en base a la búsqueda de un ID (Expediente) y este me devuelve los datos personales de un usuario:

Ejemplo:

'búsqueda de expediente

Private Sub Expediente_AfterUpdate()
Lugar = DLookup("[Lugar]", "[BD_Registro_Usuarios]", "[Expediente]= '" & [Expediente] & "'")
Nombre_1 = DLookup("[Nombre_1]", "[BD_Registro_Usuarios]", "[Expediente]= '" & [Expediente] & "'")
Nombre_2 = DLookup("[Nombre_2]", "[BD_Registro_Usuarios]", "[Expediente]= '" & [Expediente] & "'")

......etc

End Sub

El problema que tengo es que en el caso que ingrese en el campo Expediente un número que no existe dentro de la base BD_Registro_Usuarios me causa error y me despliega este mensaje y me envía al editor VB

Como puedo para que en el caso de ingresar un ID erróneo me tire un mensaje hasta que ingrese uno que si exista.

1 Respuesta

Respuesta
2

Un forma de hacerlo sería añadir al principio del código una comprobación del ID, por ejemplo:

Private Sub Expediente_AfterUpdate()

Dim temp as integer

temp = DCount("Expediente",  "[BD_Registro_Usuarios]", "[Expediente]= '" & [Expediente] & "'")

If temp=0 Then ' En este caso es que no encontró el expediente que buscas

MsgBox "No se ha encontrado el expediente. Inténtelo de nuevo.", vbInformation+vbOkOnly,"NO EXISTE"

Exit Sub

End If

Lugar = DLookup("[Lugar]", "[BD_Registro_Usuarios]", "[Expediente]= '" & [Expediente] & "'")

...

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas