Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con DLookup en Access

Estas en el tema de Problemas con DLookup en Access en el foro de Bases de Datos General en Foros del Web. Buenas noches a todos: Tengo un problema que no logro encontrar solución, capaz porque he estado mucho tiempo trabajando y me he bloqueado, no lo ...
  #1 (permalink)  
Antiguo 17/09/2015, 23:38
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años
Puntos: 10
Problemas con DLookup en Access

Buenas noches a todos:
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:
Private 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
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 error
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:
varRegistro = DLookup("id", "pacientes", "nombres LIKE '*Carlos*' AND apellidos LIKE'*Maldonado*'")
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.

¿Alguna sugerencia?
Muchas gracias por el apoyo que me brinden.
Un saludo desde Lima, Perú

Etiquetas: access, campo, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:46.