VERIFICACAO DE SENHAS
boa noite jovens...precisava de uma ajuda...estou fazendo um programa em que para entrar na aplicaçao é necessario uma validaçao com senha, consegui fazer iso mas esta acontecendo uma coisa que eu nao previ. Tenho 5 usuarios, cada um com uma senha diferente, como mostro a seguir:
usuario senha
mackey 123456
bidu 123789
jack 123123
natalia 321654
luis 159753
oq acontece é que se entro com o usuario mackey e a senha de qualquer outro usuario o programa valida a senha, gostaria que o programa validasse somente se a senha correspondesse exatamente ao seu usuario, abaixo esta o fonte, obrigado desde já...
Private Sub cmdOK_Click()
Dim us, senha As Boolean
Dim sql As String
us = False
senha = False
sql = [Ô]select * from tblusuarios where nome= [ô][Ô] & TxtUsuario.Text & [Ô][ô][Ô]
rec.open sql, cnnsoftpark, adOpenStatic
If rec.EOF Then
MsgBox [Ô]Registro não encontrado[Ô]
us = False
Else
us = True
End If
rec.Close
Set rec = Nothing
sql = [Ô]select * from tblusuarios where senha=[ô][Ô] & TxtSenha.Text & [Ô][ô][Ô]
rec.open sql, cnnsoftpark, adOpenStatic
If rec.EOF Then
MsgBox [Ô]Senha incorreta[Ô]
senha = False
Else
senha = True
End If
If us = True And senha = True Then
frmPrincipal.lblUsuario = TxtUsuario.Text
frmPrincipal.LblCargo = rec.Fields(3)
TxtSenha.Text = [Ô][Ô]
TxtUsuario.Text = [Ô][Ô]
Unload Me
frmPrincipal.Show
Else
TxtSenha.Text = [Ô][Ô]
TxtUsuario.Text = [Ô][Ô]
TxtUsuario.SetFocus
SendKeys [Ô]{Home}+{End}[Ô]
End If
rec.Close
Set rec = Nothing
End Sub
usuario senha
mackey 123456
bidu 123789
jack 123123
natalia 321654
luis 159753
oq acontece é que se entro com o usuario mackey e a senha de qualquer outro usuario o programa valida a senha, gostaria que o programa validasse somente se a senha correspondesse exatamente ao seu usuario, abaixo esta o fonte, obrigado desde já...
Private Sub cmdOK_Click()
Dim us, senha As Boolean
Dim sql As String
us = False
senha = False
sql = [Ô]select * from tblusuarios where nome= [ô][Ô] & TxtUsuario.Text & [Ô][ô][Ô]
rec.open sql, cnnsoftpark, adOpenStatic
If rec.EOF Then
MsgBox [Ô]Registro não encontrado[Ô]
us = False
Else
us = True
End If
rec.Close
Set rec = Nothing
sql = [Ô]select * from tblusuarios where senha=[ô][Ô] & TxtSenha.Text & [Ô][ô][Ô]
rec.open sql, cnnsoftpark, adOpenStatic
If rec.EOF Then
MsgBox [Ô]Senha incorreta[Ô]
senha = False
Else
senha = True
End If
If us = True And senha = True Then
frmPrincipal.lblUsuario = TxtUsuario.Text
frmPrincipal.LblCargo = rec.Fields(3)
TxtSenha.Text = [Ô][Ô]
TxtUsuario.Text = [Ô][Ô]
Unload Me
frmPrincipal.Show
Else
TxtSenha.Text = [Ô][Ô]
TxtUsuario.Text = [Ô][Ô]
TxtUsuario.SetFocus
SendKeys [Ô]{Home}+{End}[Ô]
End If
rec.Close
Set rec = Nothing
End Sub
Ao invés de executar DUAS consultas, execute somente UMA.
Exemplo:
Exemplo:
sql = [Ô]select * from tblusuarios where nome=[ô][Ô] & TxtUsuario.Text & [Ô][ô] and senha=[ô][Ô] & TxtSenha.Text & [Ô][ô][Ô]
puxa obrigado...funcionou.....
OK, só não esqueça de ENCERRAR o tópico.
pronto, na mão...
Private Sub CmdEntrar_Click()
If TxtSenha.Text = [Ô][Ô] Or TxtUsuario.Text = [Ô][Ô] Then
MsgBox [Ô]Favor Preencher Todos os Campos.[Ô], vbInformation, [Ô]Campo Vazio[Ô]
TxtUsuario.SetFocus
Exit Sub
End If
Set Rst = New ADODB.Recordset
Sql = [Ô]Select * From Tbl_Usuarios Where Usua = [ô][Ô] & TxtUsuario.Text & [Ô][ô] And Senha = [ô][Ô] & TxtSenha.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao, 3
If Rst.EOF Then
MsgBox [Ô]Nome de Usuário ou Senha Incorreto.[Ô], vbExclamation, [Ô]Erro[Ô]
Rst.Close
Exit Sub
End If
MDI_Principal.StatusBarXP1.PanelCaption(1) = [Ô]Usuário Logado: [Ô] & UCase(TxtUsuario.Text)
MDI_Principal.Show
Usuario = TxtUsuario.Text
Unload Me
Rst.Close
Set Rst = Nothing
End Sub
Private Sub CmdEntrar_Click()
If TxtSenha.Text = [Ô][Ô] Or TxtUsuario.Text = [Ô][Ô] Then
MsgBox [Ô]Favor Preencher Todos os Campos.[Ô], vbInformation, [Ô]Campo Vazio[Ô]
TxtUsuario.SetFocus
Exit Sub
End If
Set Rst = New ADODB.Recordset
Sql = [Ô]Select * From Tbl_Usuarios Where Usua = [ô][Ô] & TxtUsuario.Text & [Ô][ô] And Senha = [ô][Ô] & TxtSenha.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao, 3
If Rst.EOF Then
MsgBox [Ô]Nome de Usuário ou Senha Incorreto.[Ô], vbExclamation, [Ô]Erro[Ô]
Rst.Close
Exit Sub
End If
MDI_Principal.StatusBarXP1.PanelCaption(1) = [Ô]Usuário Logado: [Ô] & UCase(TxtUsuario.Text)
MDI_Principal.Show
Usuario = TxtUsuario.Text
Unload Me
Rst.Close
Set Rst = Nothing
End Sub
Tópico encerrado , respostas não são mais permitidas