O QUE ESTA ERRADO????

RDPIZA 13/03/2013 00:23:22
#420349
é um form de login com banco de dados DAO, só que quando vo logar só consigo com o primeiro usuario com os demais não porque???

Dim db As DAO.Database
Dim rs As DAO.Recordset

Private Sub Command1_Click()
If Text1.Text = rs([Ô]codigo[Ô]).Value And Text2.Text = rs([Ô]login[Ô]).Value And Text3.Text = rs([Ô]senha[Ô]).Value Then
Form1.Show
Else
MsgBox [Ô]Login ou Senha Incorretos[Ô], vbCritical, [Ô]Erro[Ô]
End If

End Sub

Private Sub Form_Load()
Set db = OpenDatabase([Ô]E:\VB6 paroquia\cadastro.mdb[Ô]) [ô], False, False)
Set rs = db.OpenRecordset([Ô]Usuario[Ô], dbOpenTable)

rs.Index = [Ô]pscod[Ô]


Text1.Text = [Ô][Ô]
Text2.Text = [Ô][Ô]
Text3.Text = [Ô][Ô]

End Sub
KERPLUNK 13/03/2013 10:48:20
#420372
A primeira coisa que está errada é o título do tópico, leia as regras do fórum
Quanto à sua dúvida
O que você está fazendo, é abrir a tabela sem critério de pesquisa, por isso, a validação só vai ser aplicada para o primeiro registro. O que você deveria fazer é algo parecido com isso:

Private Sub Command1_Click()
Set db = OpenDatabase([Ô]E:\VB6 paroquia\cadastro.mdb[Ô]) [ô], False, False)
Set rs = db.OpenRecordset([Ô]Select * from Usuario where login = [ô][Ô] & text2.text & [Ô][ô] and senha = [ô][Ô] & text3.text & [Ô][ô], dbOpenTable)

if rs.count > 0 then
Form1.Show
Else
MsgBox [Ô]Login ou Senha Incorretos[Ô], vbCritical, [Ô]Erro[Ô]
End If

End Sub

KERPLUNK 13/03/2013 10:50:53
#420373
Além disso, considere usar ADO ao invés de DAO que é o que está usando...
Faça seu login para responder