Filtros en Cajas de Texto

Hola estoy haciendo un programa de usuarios
Que esta a lo siguiente tengo un formulario llamado Ingreso al sistema que contiene 2 comandos uno llamado CmdEntrar y el otro CmdCancelar 3 cajas de texto uno llamado TxtCodigoUsu, TxtNombreUsu y el ultimo TxtPassword, y una base de datos en access con una tabla llamado Ingreso que contiene CodigoUsu, nombre del usuario, password, confirmación del password
ahora en el formulario quiero que cada vez que ingrese el código en el txtCodigoUsu aparezca automáticamente el Nombre en TxtNombreUsu
no se si se hace con el evento Change.
Si alguien me pudiera ayudar por favor.

1 respuesta

Respuesta
1
En el evento KeyPress colocas la lógica para esto cuando presionen ENTER
Muchas Gracias por responderme
Más o menos el Código es así o si estoy equivocado me echas una ayudita
rs.Open "SELECT CodIngreso,Usuario FROM Ingreso WHERE CodIngreso LIKE '%" & TxtCodigo.Text & "%' and Usuario LIKE '"
Si así, lo que debes hacer es verificar si el recordset tiene datos
Fíjate que con este código me da un error, mejor te envío todo el código que estoy haciendo Gracias.
Option Explicit
Dim ok As Boolean
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
ESTE CODIGO ES DE CmdEntrar
Private Sub CmdEntrar_Click()
Const C_Cadena = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Archivo4\BALM\BasedeDatos.mdb;" & "Persist Security info = False"
Dim rst_Login As Recordset
Set rst_Login = New Recordset
Dim SQL As String
Dim i As Integer
SQL = "SELECT CodIngreso, Password " & "FROM Ingreso " & "WHERE CodIngreso = '" _
& TxtCodigo.Text & "'" & "and Password = '" & TxtPassword.Text & "'" & "And Usuario = '" & TxtNombre & "'"
With rst_Login
.Open SQL, C_Cadena
If .EOF Then
MsgBox " El Usuario o Password es incorrecto ", vbCritical, "Ingreso al Sistema "
TxtPassword = ""
rst_Login.Close
Set rst_Login = Nothing
Exit Sub
End If
End With
rst_Login.Close
Set rst_Login = Nothing
ok = True
Unload Me
FrmPrincipal.Show
End Sub
y este es el código para la caja de texto en el evento KeyPress, pero me sale este error,
"No se puede utilizar la conexión para realizar esta operación esta Cerrada o no es Valida en este Contexto. Ya verifique el el recordset tiene Datos y si Tiene
Private Sub TxtCodigo_KeyPress(KeyAscii As Integer)
rs.Open "SELECT CodIngreso,Usuario FROM Ingreso WHERE CodIngreso LIKE '%" & TxtCodigo.Text & " % ' and Usuario LIKE '"
End Sub
Tienes que colocar el LIKE de usuario igual que el CodIngreso
" .... CodIngreso LIKE '%" & TxtCodigo.Text & " % ' and Usuario LIKE '%" & txtUsuario.Text & "%' "
Me sigue tirando este error
"No se puede utilizar la conexión para realizar esta operación esta Cerrada o no es Valida en este Contexto. "
No has abierto la conexión conoexion con la base de datos, primero ábrela y luego si ejecutas el recordset
Pues ya la abrí o como se abre
En ningún lado veo con. Open, el objeto con es la conexión el que estas abriendo es el recordset
Más o menos no me podes guiar como lo harías, osea un código de ayuda por favor.
Gracias
Siguiendo tu código:
...
cn.ConnetionString = C_Cadena
cn.Open
SQL = "SELECT CodIngreso, Password " & "FROM Ingreso " & "WHERE CodIngreso = '" _
& TxtCodigo.Text & "'" & "and Password = '" & TxtPassword.Text & "'" & "And Usuario = '" & TxtNombre & "'"
With rst_Login
.Open SQL, cn
If .EOF Then
...
Ese código lo ingreso en la caja de texto en el evento KeyPress verdad.
Es elc odigo que me enviaste, debes colocarlo en la misma parte
Sabes lo puse en la misma parte y me sale este error
"Variable de tipo object o la variable de boque  With no esta establecida
Mira no se si ya me has entendido o no, el código que te envíe del Comando Entrar
CmdEntrar eso si me funciona, lo que yo estoy buscando la manera es de que en las cajas de texto osea TxtCodigo Cundo ingrese un Código por ejemplo "01" entonces en el otra Caja de Texto llamado TxtNombre me aparezca automáticamente su nombre que esta registrado en una tabla llamado Ingreso entonces ya solo es cuestión de ingresarle manualmente el password y presionarle enter y pueda entrar.
Gracias.
En el evento Keypress del textbox donde pides el código del usuario, si es un ENTER, entonces realizas una biusqueda del usuario en la base de datos, y colocas el nombre del usuario que te devuelve la consulta a la base de datos en el texbox del nombre.
Gracias. Pero no tienes más o menos un ejemplo de como tendría que ir el código. Que llevo más o menos 3 meses con este problema. Y lo tengo que entregar ya a finales de este mes.
Gracias.
Const C_Cadena = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Archivo4\BALM\BasedeDatos.mdb;" & "Persist Security info = False"
Dim rst_Login As Recordset
Set rst_Login = New Recordset
Dim SQL As String
Dim i As Integer
cn.ConnectionString = C_Cadena
cn.Open
SQL = "SELECT CodIngreso, Password, Usuario " & "FROM Ingreso " & "WHERE CodIngreso = '" _
& TxtCodigo.Text & "'"
With rst_Login
.Open SQL, cn
If .EOF Then
MsgBox " El Usuario es incorrecto ", vbCritical, "Ingreso al Sistema "
rst_Login.Close
Set rst_Login = Nothing
Exit Sub
End If
End With
TxtNombre.text = rst_Login!Usuario
rst_Login.Close
Set rst_Login = Nothing

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas