Access - Dlookup no se cual es el error

   
Vista:

Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 03/03/2009 16:27:37
Espero me colaboren con la siguiente duda:

He tratado de realizar un Dlookup con dos criterios de busqueda, pero siempre me genera el mismo error, los tipos de datos no coinciden, he hecho la prueba de hacer la consulta con cada uno de los criterios por separado y si la realiza bien sin ningun error, realmente no se la razón del error, ya que si es por el tipo de dato no debería ejecutar la consulta con solo un criterio.

DLookup("[NUMEMPLEADO]", "REGISTRO DATOS", "[NUMEMPLEADO] = " & USUARIO And "[TURNO] =" & TUR)

USUARIO Y TURNO, Son variables tipo numerico,.

Les agradecería las luces que me dieran en este caso realmente estoy perdido y no se cual es el error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dlookup no se cual es el error

Publicado por Jefferson (381 intervenciones) el 03/03/2009 23:19:58
Creo que el codigo esta mal escrito

DLookup("[NUMEMPLEADO]", "REGISTRO DATOS", "[NUMEMPLEADO] = " & USUARIO And "[TURNO] =" & TUR) ===>>Incompleto

Plantea mejor lo que pretendes hacer y seguro alguien te ayuda

Segun leo buscas que NUMEMPLEADO coincida con el USUARIO y el TURNO
pero contra quien lo quieres hacer coincidir...????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 04/03/2009 15:11:26
Gracias por tu pronta respuesta, Mira lo que necesito es evaluar si en una tabla ya existe un campo que tenga algunos registro especificos de turno y numero de empleado.

Lo estaba haciendo con un if isnull y el dlookup, pero el error viene desde el Dlookup.

Trate de hacerlo con un sql de select y me genera el mismo error que los tipos no coinciden

Bueno no se si me explique bien,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Jefferson (381 intervenciones) el 04/03/2009 15:53:20
La verdad no te explicastes bien, y no se exactamente lo que pretendes....
chequea esto:

Dim MiVariable 'declaramos una variante
MiVariable = DLookup("[Campo a Buscar]", "TuTabla", "[CampoClavePrincipal]= Forms!ElFormDondeEstasTrabajando!CampoDondeIntroduzesParametroDeBusqueda") 'Emprendemos la busqueda
If IsNull(MiVariable) = False Then
Me.CampoDestino = MiVariable
Else
MsgBox "Registro no encontrado segun su criterio"
End If

Si no te sirve, dame mas datos
Desde Venezuela
Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 04/03/2009 16:13:04
Gracias por tu paciencia y ayuda.

Mira tengo lo siguiente una tabla donde se registran las personas con los siguientes campos: NUMEMPLEADO, TURNO, HORA, Y FECHA.

Es para un sistema de almuerzo en una cafeteria de una empresa debo asegurarme que la persona no coma en el mismo turno dos veces o que se preste el carnet
Necesito antes de grabar el registro verificar que el usuario no este ya registradoen el mismo turno, el mismo día .Por turno solo puede existir un resgistro de un usuario
osea que debo validar tres campos (numempleado, turno, fecha).

Lo inicie con un solo campo en Dlookup y funciono perfecto:

If (Not IsNull(DLookup("[NUMEMPLEADO]", "DATOSEMPLEADOS", "[NUMEMPLEADO] = " & USUARIO))) Then
MsgBox "SI ESTA EL EMPLEADO!!!!"
Else
MsgBox " ESTE USUARIO NO EXISTE FAVOR ACUDIR A RECURSOS HUMANOS"
End If

Pero al ingresar dos campos como criterio con AND no me funciona he leido que si se puede.

Bueno espero esta vez haber sido mas claro.

Gracias por tu ayuda!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 04/03/2009 16:38:57
Acabo de hacer los cambios y probe pero me genero un nuevo error.

Error de sintaxis(falta operador) en la expresión de consulta
´[NUMEMPLEADO] = 444And[TRUNO] =´
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Enrique (1299 intervenciones) el 04/03/2009 16:09:27
Prueba con estas modificaciones:

INCORRECTO:
DLookup("[NUMEMPLEADO]", "REGISTRO DATOS", "[NUMEMPLEADO] = " & USUARIO And "[TURNO] =" & TUR)

CORRECTO:
DLookup("[NUMEMPLEADO]", "REGISTRO DATOS", "[NUMEMPLEADO] = " & USUARIO & "And [TURNO] =" & TUR)

Se entiende que ambos campos en la tabla son numéricos, según indicas. Observa las diferencias entre uno y otro.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 04/03/2009 16:16:32
Asi es Enrique son numericos,

Voy a probar y te aviso

Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo  (20 intervenciones) el 04/03/2009 16:49:44
Enrique ya encontre los errores trabaja perfectamente muchas gracias llevaba un buen rato dandole sin hayar la salida.

Una ultima pregunta como hago para adicionar otro criterio de fecha ??

COMPARADOR1 = DLookup("[NUMEMPLEADO]", "REGISTRODATOS", "[NUMEMPLEADO] = " & USUARIO & "And [TURNO] =" & TUR& "And "[FECHA] = " &# HOY# )

Asi estaría bien???

Gracias me has ayudado bastante me había enredado un poco con el manejo delas comillas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Jefferson (381 intervenciones) el 04/03/2009 17:56:34
Como te habia indicado yo tambien te funcionaba y menos complicado

Private Sub FECHA_BeforeUpdate(Cancel As Integer)
Dim MiVariable 'declaramos una variante
MiVariable = DLookup("[FECHA]", "REGISTRODATOS", "[NUMEMPLEADO]= Forms!ElFormDondeEstesTrabajando!NombreEmpleado") 'Emprendemos la busqueda
If IsNull(MiVariable) = True Then
Else
MsgBox "Lo siento el emlpeado ya utilizo su cupo"
Cancel = True
End If
End Sub

Quiere decir que cuando le indiques la fecha para entrar a disfrutar del comedor, este busque en el registro y si ya ingreso, salta el error y prohibe seguir avanzando.....

Desde Venezuela
Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Enrique (1299 intervenciones) el 05/03/2009 12:04:14
Prueba así, Gustavo. Como tu lo pones no es correcto.

COMPARADOR1 = DLookup("[NUMEMPLEADO]", "REGISTRODATOS", "[NUMEMPLEADO] = " & USUARIO & "And [TURNO] =" & TUR & "And [FECHA] =# " & HOY & "#")

Creo que deber de funcionar aunque lo estoy escribiendo de memoria y seguro del todo no estoy sin comprobarlo, pero prueba.

Saludos
Enruque
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Gustavo (20 intervenciones) el 05/03/2009 15:58:54
Enrique me funciono perfectamente muchas gracias!!!!

Jefferson muchas gracias a ti tambien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dlookup no se cual es el error

Publicado por Joaquin (1 intervención) el 31/07/2016 12:14:34
He estado perdido dos días con un problema con esta función, leyendo todo lo que he encontrado en los foros y gracias a esta respuesta he podido rectificar mi error.

Muchisimas gracias ENRIQUE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar