别人的 Adodc_Login.Recordset.MoveFirst 就好用,而我的就在这里提示错误,是哪地方不对了呢???Dim a As Integer   'a 用于保存输入的次数
    a = 0
    Dim i As Integer      'i 用于标志用户名和密码是否都输入正确
    
    Do While a <> 3
        If Trim(TxtName.Text) = "" Or Trim(TxtKey.Text) = "" Then   '没有输入数据
            MsgBox "数据不能为空!"
            TxtName.SetFocus
            Exit Do
            Exit Sub
        Else           '输入符合要求
            Adodc_Login.Recordset.MoveFirst
            Do While Not Adodc_Login.Recordset.EOF
                If Adodc_Login.Recordset.Fields("用户名").Value = Trim(TxtName.Text) Then  '该用户名是否已存在
                        If Adodc_Login.Recordset.Fields("密码").Value = Trim(TxtKey.Text) Then  '该用户名密码正确
                           i = 1       '用户名和密码都正确
                           Exit Do
                        Else
                           i = 0       '用户名存在但密码错误
                        End If
                Else
                    i = 3         '用户名不存在
                    Exit Do
                End If
                Adodc_Login.Recordset.MoveNext
            Loop
        If i = 1 Then
            MDIFrm.Show
            Exit Do
            Unload Me
        End If
        If i = 0 Then
            MsgBox "密码错误,请重新输入!", , "用户登录"
            TxtName.Text = ""
            TxtKey.Text = ""
            TxtKey.SetFocus
            a = a + 1
        End If
        If i = 2 Then
            MsgBox "该用户名不存在!", , "用户登录"
            a = a + 1
        End If
        End If
    Loop
    
    If a = 3 Then
         MsgBox "输入超过三次!"
                TxtKey.Enabled = False  '不可用
                CmdOk.Enabled = False
                Exit Sub
    End If
End Sub