CONSULTA SQL NO LOGIN
Ola amigos, alguem sabe como cria uma consulta no login para as pessoas q ja foram cadastradas no login, ex: eu cadastrei o usuario "Lucas", qdo eu digitar a primeira letra, por exemplo, "L" no campo do TxtUsuario, queria q fizesse uma consulta mostrando o nome inteiro, soh q qdo eu digitasse a letra "L" o resto do nome "ucas" aparecesse selecionado para caso for o nome encontrado eh soh mudar de campo, caso for outro usuario com a letra "L" continua digitando e o nome some, ou seja, eu fiz da seguinte forma:
nessa consulta eu consigo axar o registro q ja foi cadastrado pela letra digitada no TxtUsuario... soh q como eu faço para ficar selecionado o resto da palavra, qdo eu digita, eis a questao? alguem pode me ajudar
Citação:abre_banco
SQL = "select user from usuarios where user like '%" & TxtUsuario.Text & "%'"
RS.Open SQL, banconova, adOpenForwardOnly, adLockReadOnly
axar = RS!User
TxtUsuario.Text = Left(axar, 10)
nessa consulta eu consigo axar o registro q ja foi cadastrado pela letra digitada no TxtUsuario... soh q como eu faço para ficar selecionado o resto da palavra, qdo eu digita, eis a questao? alguem pode me ajudar
Assim:
Dim OldLen As Integer
If Not txtArea.Text = "" Then
OldLen = Len(txtArea.Text)
With txtArea
On Error Resume Next
.SetFocus
If .SelText = "" Then
.SelStart = OldLen
Else
.SelStart = InStr(.Text, .SelText)
End If
.SelLength = Len(.Text)
End With
flw...
Dim OldLen As Integer
If Not txtArea.Text = "" Then
OldLen = Len(txtArea.Text)
With txtArea
On Error Resume Next
.SetFocus
If .SelText = "" Then
.SelStart = OldLen
Else
.SelStart = InStr(.Text, .SelText)
End If
.SelLength = Len(.Text)
End With
flw...
voce acha isso vantagem cara? seila, se alguem quizer zuar o programa fica mais facil... mas enfim!
abraços
abraços
Lucas, eu recomendo você carregar os usuários cadastrados em uma ComboBox, e utilizar a propriedade da combo Style - 2 Dropdown List.
Eu não recomendo. Desculpe.
As relações de pesquisa de login devem ser diretamente ligadas às informações digitadas no ato. Este negocio de listar user pode causar muitos problemas. Vai que alguem ve o cara digitando a senha, é 50% do caminho andado para se burlar o sistema.
Além do que, você vai expor o seu sistema mostrando quem tem acesso. Desculpe meu "tradicionalismo", mas login não é uma coisa para ser facilitada ao usuário.
As relações de pesquisa de login devem ser diretamente ligadas às informações digitadas no ato. Este negocio de listar user pode causar muitos problemas. Vai que alguem ve o cara digitando a senha, é 50% do caminho andado para se burlar o sistema.
Além do que, você vai expor o seu sistema mostrando quem tem acesso. Desculpe meu "tradicionalismo", mas login não é uma coisa para ser facilitada ao usuário.
Mto obrigado pela ajuda SILVERDRAGON, eu entendi o codigo soh q nao tou sabendo usar ele...rsrsrs, eu estou usando da seguinte forma:
nao estou conseguindo, na hora de jogar pro campo txtusuario nao ta pegando o registro...
Eltao, eu nao sei se isto eh vantagem, soh q ja vi esse codigo implementado em mtos softwares, tipo, se o usuario ja for cadastrado, qdo ele for dar o login de novo, ele soh vai digitar a primeira letra do nome dele ai aparece o restante do nome dele selecionado, soh eu nao entendi pq vc falou q alguem pode zuar o programa..bom mas vlw ai pela dica.. se alguem poder ai me ajudar eu agradeço
Dim OldLen As Integer
If RS.State = adStateClosed Then
abre_banco
End If
SQL = "select user from usuarios where user like '%" & TxtUsuario.Text & "%'"
RS.Open SQL, banconova, adOpenForwardOnly, adLockReadOnly
If Not TxtUsuario.Text = "" Then
OldLen = Len(TxtUsuario.Text)
With TxtUsuario
On Error Resume Next
.SetFocus
If .SelText = "" Then
.SelStart = OldLen
Else
.SelStart = InStr(.Text, .SelText)
End If
.SelLength = Len(RS!User)
End With
End If
RS.Close
banconova.Close
Set banconova = Nothing
nao estou conseguindo, na hora de jogar pro campo txtusuario nao ta pegando o registro...
Citação:voce acha isso vantagem cara? seila, se alguem quizer zuar o programa fica mais facil... mas enfim!
Eltao, eu nao sei se isto eh vantagem, soh q ja vi esse codigo implementado em mtos softwares, tipo, se o usuario ja for cadastrado, qdo ele for dar o login de novo, ele soh vai digitar a primeira letra do nome dele ai aparece o restante do nome dele selecionado, soh eu nao entendi pq vc falou q alguem pode zuar o programa..bom mas vlw ai pela dica.. se alguem poder ai me ajudar eu agradeço
Citação:Lucas, eu recomendo você carregar os usuários cadastrados em uma ComboBox, e utilizar a propriedade da combo Style - 2 Dropdown List.
No combo vai ficar bom tbm, so q eu axo q fica pesado, pq se por exemplo tiver mtos usuarios cadastrados, ele vai ter q carregar todos, e ai pode demorar um poko mais e ainda dificulta o usuario a axar o nome dele... eu estou tentando implementar esse codigo no textbox, se alguem puder me ajudar eu agradeço.. eu citei meu codigo acima...
Cara, eu concordo com o ALMARTI, mas se quiser fazer isso, a forma mais fácil e mais "agradável" ao usuário, seria você populando um combobox com todos os usuários, +/- assim:
Daàvc coloca a propriedade Style do combo igual a "0 - DropDown Combo" (a padrão), e usa o código contido na dica: COMBOBOX AUTO-COMPLETAR MUITO FACIL:
Uma coisa que eu faria é ao menos colocar uma configuração no sistema pro administrador permitir ou não a listagem dos usuários na tela de login...abços
abre_banco
SQL = "select codigo, user from usuarios order by user"
RS.Open SQL, banconova, adOpenForwardOnly, adLockReadOnly
axar = RS!User
Do While Not RS.EOF
Seu_Combo.AddItem = RS!user
Seu_Combo.ItemData(Seu_Combo.NewIndex) = RS!codigo
RS.MoveNext
Loop
Daàvc coloca a propriedade Style do combo igual a "0 - DropDown Combo" (a padrão), e usa o código contido na dica: COMBOBOX AUTO-COMPLETAR MUITO FACIL:
Private Sub Seu_Combo_KeyPress(KeyAscii As Integer)
KeyAscii = Combo_AutoCompletar(Seu_Combo, KeyAscii)
End Sub
Uma coisa que eu faria é ao menos colocar uma configuração no sistema pro administrador permitir ou não a listagem dos usuários na tela de login...abços
Isso mesmo q eu queria Matioli, valeu pela dica, mto obrigado
Tópico encerrado , respostas não são mais permitidas