¿Cómo activar un cuadro de texto mediante formulario sin hacer clic?

Soy nuevo en esto, estoy haciendo una DB en access pero no lo sé usar muy bien, lo que necesito es que cuando ingrese mi usuario y contraseña, y se abre una pantalla de bienvenido en automático me aparece el usuario con el que ingresé, posterior a esto se ingresa a la pantalla de menú principal y el mismo usuario se copia y pega en un cuadro de textos que no se puede editar (está bloqueado) y al momento de que se pega el nombre de usuario, me busca de una tabla llamada Usuarios, la informaciion del usuario que ingresé, hasta el momento todo está Ok pero, no funciona porque tengo que hacer clic, pasar mouse sobre el cuadro, o hacer algún evento que no puedo hacer porque el cuadro lo necesito tener bloqueado...

Lo único que necesito es que ese cuadro donde queda grabado el usuario se active en automático en cuanto se pegue la información.

Me.txtUsuarioMenu = DLookup("usuario", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")

Este es el código que estoy usando en el cuadro donde se pega la info, pero no hace nada hasta que le doy clic o muevo el mouse sobre el.

Me ayuda alguien porfavooorrr!

2 Respuestas

Respuesta
1

No entiendo muy bien tu pregunta podrías ampliarla un poco

tengo una tabla llamada "Usuarios" que contiene los campos "usuario", "puesto", "login" y "clave".

tengo dos Formularios.

frmBienvenido con un cuadro de texto llamado "Texto9" en el que en automatico se escribe el valor del campo "login" de la tabla "Usuarios".

al dar clic a un boton me da abre un segundo formulario llamado "frmMenu", se copia el valor del cuadro "Texto9" de "frmBienvenido" y lo pega en un nuevo cuadro de "frmMenu" llamado "txtLoginMenu" y cierra el "frmBienvenido"... hasta aqui todo está perfecto, pero, en el form "frmMenu" tengo unos cuadros llamados "txtUsuario" y "txtPuestoMenu", los cuales se tienen que llenar en cuanto el cuadro "txtLoginMenu" sea llenado.

en este ultimo cuadro tengo esto:

Private Sub txtLoginMenu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.txtUsuarioMenu = DLookup("usuario", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")
Me.txtPuestoMenu = DLookup("puesto", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")

end sub

pero necesito mover el mause sobre el cuadro para que llene los otros cuadros no quiero que esto sea asi, lo que necesito es que no tenga que hacer nada en absoluto, solo en cuanto pegue el valor se llenen los otros campos... 

no se si me expliqué correctamente, pero please ayudame!!

Ensaya declarando unas variables publicas en un módulo, en el formulario que quieres los valores automáticos asignas a los campos a llenar. Programas el evento "Al recibir el enfoque" asignas el respectivo valor al control.

Respuesta
2

Charlly: Por lo que veo el dato ya está accesible y además se te muestra.

El bloqueo, te evita las modificaciomes, pero el Control es accesible por código en todas sus propiedades.

Ignoro donde tienes programada esa línea, pero si la pones por ejemplo en el Form_Current (Al activar registro), se te debería de mostrar sin hacer ninguna acción. Saludos >> Jacinto

Hola Jacinto, mira te explico:

tengo una tabla llamada "Usuarios" que contiene los campos "usuario", "puesto", "login" y "clave".

tengo dos Formularios.

frmBienvenido con un cuadro de texto llamado "Texto9" en el que en automatico se escribe el valor del campo "login" de la tabla "Usuarios".

al dar clic a un boton me da abre un segundo formulario llamado "frmMenu", se copia el valor del cuadro "Texto9" de "frmBienvenido" y lo pega en un nuevo cuadro de "frmMenu" llamado "txtLoginMenu" y cierra el "frmBienvenido"... hasta aqui todo está perfecto, pero, en el form "frmMenu" tengo unos cuadros llamados "txtUsuario" y "txtPuestoMenu", los cuales se tienen que llenar en cuanto el cuadro "txtLoginMenu" sea llenado.

en este ultimo cuadro tengo esto:

Private Sub txtLoginMenu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.txtUsuarioMenu = DLookup("usuario", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")
Me.txtPuestoMenu = DLookup("puesto", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")

end sub

pero necesito mover el mause sobre el cuadro para que llene los otros cuadros no quiero que esto sea asi, lo que necesito es que no tenga que hacer nada en absoluto, solo en cuanto pegue el valor se llenen los otros campos... 

no se si me expliqué correctamente, pero please ayudame!!

Charlly: Explicas bien lo que tienes y lo que quieres, pero ya te comenté en mi respuesta anterior, que si quieres que se muestren esos valores sin necesidad de pasar el Mouse, debes programar otro evento.

Ejemplo Form_Load o mejor Form_Current

De modo que te quedaría:

Private Sub Form_Current()
Me.txtUsuarioMenu = DLookup("usuario", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")
Me.txtPuestoMenu = DLookup("puesto", "Usuarios", "[Login]='" & Me.txtLoginMenu.Value & "'")
End sub

Si copias y pegas éste código y no lo programas con el asistente, no te olvides de activar en vista de diseño del Formulario >>Propiedades >> Eventos >> Al actualizar Registro >>[Procedimiento de evento]

Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas