Access - Ayuda con parametros en DLookup

 
Vista:
sin imagen de perfil

Ayuda con parametros en DLookup

Publicado por cesar (9 intervenciones) el 22/02/2015 17:15:53
Hola, espero que alguien pueda orientarme. Soy un dinosaurio del cobol que está intentando modernizarse con el access.

Estoy creando un sencillo control de acceso con usuarios y contraseñas y la sentencia dlookup me devuelve siempre el error "2471" La expresión que ha especificado como parámetro de la consulta produjo el error "el valor del formulario"

Entiendo que es un problema de sintasis pero he probado todas las formas posibles y no doy con la adecuada. Hasta sospecho de los caracteres de mi teclado.

Por ejemplo:

Dim auxcontraseña As String


auxcontraseña = DLookup("Password", "empleados", "id_usuario=" & Me![txtlogin])

MsgBox "paso correctamente 1", vbCritical, "OK"


DONDE:
Password es el campo que quiero recuperar de la tabla EMPLEADOS
id_usuario pertenece igualmente a la tabla EMPLEADOS
txtlogin es el campo que introduzco en el formulario


Gracias y perdón por lo básico de la consulta
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

Ayuda con parametros en DLookup

Publicado por MMan (3 intervenciones) el 22/02/2015 17:45:27
segun una rapida busqueda por google....

dizke el error 2471 es un error de parametros...

tal vez tipos de datos diferentes...

como .... id_usuario es numerico ?? es string ?

y si son strings/cadenas... tendrias que encerrarlos entre comillas o apostrofes

auxcontraseña = DLookup("Password", "empleados", "id_usuario='" & Me![txtlogin] &"'")

-----
tambien se recomienda no usar caracteres especiales para por ejemplo las variables/nombres de campos como la ñ
aveces puede dar quebraderos de cabeza si el sistema no lo soporta
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
sin imagen de perfil

Ayuda con parametros en DLookup

Publicado por cesar (9 intervenciones) el 22/02/2015 18:12:38
Gracias por la respuesta. Con lo de la "ñ" se ma habia abierto el cielo, pero lo he probado y nada. Tambien he comprobado que los campos tienen el formato texto en la tabla y en el formulario. Lo he puesto entre comillas y no lo soluciono. Hay algo que se me escapa.

Dim auxcontra As String
auxcontra = DLookup("Password", "empleados", "[id_usuario]='" & Me![txtlogin] & "'")
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

Ayuda con parametros en DLookup

Publicado por MMan (3 intervenciones) el 22/02/2015 18:56:11
y si lo pruebas por partes ???


auxcontra = DLookup("Password", "empleados", "[id_usuario]=00001") <--- algun id ESTATICO que exista en la BD

-------

compruebas lo que te devuelve el formulario

Dim LResponse As Integer
LResponse = MsgBox(Me![txtLogin].Text , vbOk, "Continue")

----

ahora que pongo el ejemplo tal vez te falte la propiedad .text para que devuelva lo que "contiene" la caja
auxcontra = DLookup("Password", "empleados", "[id_usuario]='" & Me![txtlogin].text & "'")
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
sin imagen de perfil

Ayuda con parametros en DLookup

Publicado por cesar (9 intervenciones) el 22/02/2015 20:24:51
Pues lo del Tex me ha solucionado el problema.
Solo que me ha pedido que para utilizar este parámetro tenia que poner el focus en el campo.

Bueno, lo importante es que ha quedado solucionado. Gracias por tu ayuda. Ya habia tirado la toalla y estaba preparando una select a la tabla. Clásico que es uno.


Dim auxcontra As String
Me.txtlogin.SetFocus
auxcontra = DLookup("Password", "empleados", "[id_usuario]='" & Me![txtlogin].Text & "'")
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