Tengo un problema que no logro encontrar solución, capaz porque he estado mucho tiempo trabajando y me he bloqueado, no lo se. Tengo un formulario donde deseo validar 2 campos (nombres y apellidos) de forma tal que ni bien ambos campos estén con datos, comprobar si hay duplicados en la base de datos, es decir, si ya hay un registro para esa persona. Tengo el siguiente código:
Código:
Puse un MsgBox simplemente para hacer un control, y se supone que debería mostrarme, si encontró siquiera un dato duplicado, el contenido del campo ID de ese registro, sin embargo me muestra el siguiente mensaje de errorPrivate Sub Texto4_LostFocus() Texto118.Value = Texto4.Value & " " & Texto2.Value 'mostrar el nombre completo al inicio del formulario varNombres = Texto2.Value varApellidos = Texto4.Value If varNombres & "" <> "" And varApellidos & "" <> "" Then varDuplicado = DLookup("ID", "Pacientes", "nombres='" & varNombres & "' And apellidos='" & varApellidos & "'") MsgBox (varDuplicado) End If End Sub
Se ha producido el error '94' en tiempo de ejecución:
Uso no válido de Null
Y no encuentro la falla pues el dato ingresado corresponde a un dato ya ingresado en la base de datos, con total seguridad.
He probado esta otra variación
Código:
varRegistro = DLookup("id", "pacientes", "nombres LIKE '*" & Texto2.Value & "*' AND apellidos LIKE'*" & Texto4.Value & "*'") If IsNull(varRegistro) = True Then MsgBox ("No se encontró ningún registro que contenga la cadena " & Texto2.Value & " como parte del nombre del paciente.") Else MsgBox ("Ya esta resgistrado ese paciente") End If
Y es lo mismo, el DLookup no encuentra nada, como si no existiera los datos ingresados, sin embargo, si reemplazo "Texto2.Value" por el nombre y el otro Texto4 por el apellido y lo dejo así:
Código:
entonces si encuentra el registro. La verdad no se que pasa porque esta última variación la uso para una rutina simple de búsqueda y funciona a la perfección, pero en este caso, ni en broma funciona. Ojalá puedan ayudarme. varRegistro = DLookup("id", "pacientes", "nombres LIKE '*Carlos*' AND apellidos LIKE'*Maldonado*'")
¿Alguna sugerencia?
Muchas gracias por el apoyo que me brinden.
Un saludo desde Lima, Perú