Private Sub Command1_Click()
Dim a, b
re4.MoveFirst
Do Until re4.EOF
If Text1.Text = re4.Fields("用户名").Value Then
   If Text2.Text = re4.Fields("密码").Value Then
      form1.Hide
      form2.Show
   Else
    a = MsgBox("密码不正确,请重新输入!", vbExclamation, "错误")
   End If
 Else
    re4.MoveNext
Loop
b = MsgBox("对不起,无此用户名!", vbExclamation, "错误")
End If
End Sub
注:re4是用户名和密码数据库的记录集
我不知道以上程序错在哪?觉得没错,但运行的时候,系统提示出错说:Loop缺少Do  
可我都写了啊  究竟什么原因,高手帮忙修改!
谢谢!

解决方案 »

  1.   

    看看我的注释 
    Private Sub Command1_Click()
    Dim a, b
    re4.MoveFirst
    Do Until re4.EOF                                ' Do 开始
    If Text1.Text = re4.Fields("用户名").Value Then '第一个 IF 开始
       If Text2.Text = re4.Fields("密码").Value Then
          Form1.Hide
          form2.Show
       Else
        a = MsgBox("密码不正确,请重新输入!", vbExclamation, "错误")
       End If
     Else
        re4.MoveNext
    Loop                                            ' Do 结束
    b = MsgBox("对不起,无此用户名!", vbExclamation, "错误")
    End If                                          '第一个IF结束
    End Sub
      

  2.   

    Private Sub Command1_Click()Dim a, b
    re4.MoveFirstDo Until re4.EOF
        If Text1.Text = re4.Fields("用户名").Value Then
           If Text2.Text = re4.Fields("密码").Value Then
               form1.Hide
               form2.Show
           Else
               a = MsgBox("密码不正确,请重新输入!", vbExclamation, "错误")
           End If
        Else
           re4.MoveNext
        end if    b = MsgBox("对不起,无此用户名!", vbExclamation, "错误")    
    loop
    End Sub
      

  3.   

    用循环来做效率比较低,可以改为这样:Private Sub Command1_Click()
        Dim a, b
        Dim re4 As New ADODB.Recordset
        re4.Open "select 密码 from 表 where 用户名='" & Text1.Text & "'", conn, adOpenStatic, adLockReadOnly
        If re4.EOF Then
            b = MsgBox("对不起,无此用户名!", vbExclamation, "错误")
            Exit Sub
        End If
        If Text2.Text = re4.Fields("密码").Value & "" Then
            form1.Hide
            Form2.Show
        Else
            a = MsgBox("密码不正确,请重新输入!", vbExclamation, "错误")
        End If
    End Sub