Quiero traer de un campotexto de otro formulario un dato de la tabla en la que se buscó y permitió el login access

Tengo el formulario de LOGIN en ACCESS que funciona correctamente, luego de que valida el usuario me dirige a la siguiente página. Quiero que con el usuario numérico que se ingresó para la validación de LOGIN me traiga en el siguiente formulario, el nombre completo de ese mismo usuario. Estuve investigando y encontré que la función DLOOKUP puede funcionar, pero no se que estoy haciendo mal. Espero puedan echarme una mano. Adjunto imágenes

Como pueden observar el usuario ingresado es el número 2, valida y permite ingresar, pero arroja un mensaje con el nombre del usuario 1

éste es el código que utilizo en evento "cargar" del siguiente formulario:

texto = DLookup("[Nombre_Usuario]", "[Usuarios]", "'Usuarios.Usuario='" & "'Formularios![Login]![txtUsuario]'")
MsgBox "Bienvenido(" & texto & ") "

Claramente estoy haciendo mal la función debido a que no me trae el nombre del registro correcto. Así yo ingrese el usuario 2 me trae el nombre del usuario 1

2 respuestas

Respuesta
1

Juan: La parte final, o sea la del criterio no está bien construida. Prueba así

"Usuario = '" & Forms![Login].Form.TxtUsuario & "'"

En lugar de copiar y pegar, escríbelo, porque a veces las Comillas que escribimos aquí no se traducen correctamente en el Editor de VBa. Mis saludos >> Jacinto

Jacinto buenas noches, me aparece el error que no encuentra el formulario "Login". Trate pero no he podido

Juan: Si realmente tu formulario se llama así, casi seguro es que haces la llamada de búsqueda con el Formulario Login cerrado. Ha de estar abierto, y justo ayer le comentaba a otro usuario, que Neckkito en su web tiene un ejemplo que te permite tener durante toda la sesión el usuario en un Formulario oculto y te puedes referir a el desde donde quieras.

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/93-ejemplos-explicados/ejemplos-de-formularios/115-formulario-chivato 

Si sigues con dificultades me comentas. Mis saludos >> Jcinto

Respuesta
1

Usuario. Usuario esta quítale las comillas simples

Te dejo un código para que veas

Private Sub ComboEmpleado_BeforeUpdate(Cancel As Integer)
If (Not IsNull(DLookup("[Empleado]", "aux_testigos", "[Empleado] =" & Me.ComboEmpleado))) Then
MsgBox "Empleado Duplicado", vbExclamation, "Notificacion"
Me.Undo
Else
Me.ComboNombre = Me.ComboEmpleado.Column(1)
End If
End Sub

Hola Antonio... si le quito las comillas simples me aparece el mismo error, y en tu ejemplo la palabra .Column(1) a que hace referencia?

Propiedad Columna (Column)

Para referirse a una columna específica o a una combinación de columna y fila.

Pero a ti hay no la ocupas

Si puedes pasar la base seria mejor así se resuelve y te decimos como.

De preferencia formato .mdb para que todos en cualquier version la podamos abrir

¡Gracias! Antonio ¡Gracias!  por tu ayuda

Ya lo resolviste tengo un login parecido al tuyo que estoy practicando si quieres te lo paso para que veas

¿Tu dime si o no?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas