Office中国论坛/Access中国论坛

标题: [求助]关于ADO的问题 [打印本页]

作者: cring    时间: 2005-3-14 21:23
标题: [求助]关于ADO的问题
今天做了个用户登陆的窗体,并写了代码如下:

Private Sub OK_CMD_Click()

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim strSQL As String

Set conn = CurrentProject.Connection                        '打开数据库

strSQL = "select * from userform"           '设置查询的数据表

rs.Open strSQL, conn, adOpenKeyset, adLockPessimistic, 1   '记录集

Set txtName = rs.Fields("username")        '引用username字段

Set Userpwd = rs.Fields("password")        '引用password字段

If Len(Nz(Me!NameCombo)) = 0 And Len(Nz(Me!txtPwd)) = 0 Then

    MsgBox "请选择用户名和输入密码!", vbCritical, "错误"

    Me!NameCombo.SetFocus                                       '判断用户名和密码是否用误,如果有误,则弹出警告框

ElseIf Len(Nz(Me!NameCombo)) = 0 Then

    MsgBox "请选择用户名!", vbCritical, "错误"                 '用户名有误

    Me!NameCombo.SetFocus

ElseIf Len(Nz(Me!txtPwd)) = 0 Then

    MsgBox "请输入密码!", vbCritical, "错误"                   '密码有误

    Me!txtPwd.SetFocus

Else

    If Me!NameCombo = txtName Then

        If Me!txtPwd = Userpwd Then

            MsgBox "登陆成功!", vbInformation, "成功"          '登陆成功时打开

        Else

            MsgBox "密码有误!请重新输入!", vbCritical, "错误"

            Me!txtPwd.SetFocus

        End If

    Else

        MsgBox "用户名有误!请重新输入!", vbCritical, "错误"

    End If

rs.Close

conn.Close

Set rs = Nothing

Set conn = Nothing

End If

End Sub



userform中有两个用户名:第一个是ABC,密码为1234,第二个为ABCD,密码为123456,当用第一个用户名时可以登陆成功,而在用第二个用户名登陆时却总是说用户错误。也就是说,在用ADO建立记录集时只取到了表中的第一个记录,请问各位高手,这是什么原因,是不是代码有问题,还是其他的原因呢?
作者: CHENZHIRONG    时间: 2005-3-14 21:34
记录集中有所有的记录,在第一条记录中查不到,应该rs.movenext,查第二条,一直到记录末尾rs.EOF.
作者: 情比金坚    时间: 2005-3-14 23:00
不要从代码上找原因,先看看你的思路是否明确了?对照流程图看看你的问题在哪?[attach]9404[/attach]


作者: cring    时间: 2005-3-15 02:10
明白了,谢谢。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3