我用来判断密码输入次数,怎么当我的密码输入错误是,,他不回到我的密码输入处啊!!
    For i = 0 To j
   SqlStr = ""
   SqlStr = "exec YY_Password '" & Trim(txtUser_ID.Text) & "','" & txtPwd.Text & "'"
   Set adoTemp = ExecSQL(SqlStr)    If Not adoTemp.EOF Then
        hs_LoginUserID = UCase(Trim(txtUser_ID.Text))
        hs_LoginUserName = Trim(adoTemp.Fields("Password").Value)
        CheckLogin = True
        Exit Function
    Else
      i = i + 1
      If i > j Then
        MsgBox "你以超过最大登录次数,请退出!", vbOKOnly + vbQuestion, "温馨提示"
        Unload Me
      Else
      ' GoTo Err
       CheckLogin = False
       MsgBox "用户号不存在或密码有误,请重新输入!", vbInformation, hs_TitleName
       txtPwd.SetFocus
       'txtPwd.Text = ""
      End If
    End If
   Next i
望指教

解决方案 »

  1.   

    那个 I 变量, 因为 你每次进入过程的时候 都会 初始化.
    应该定义成一个 静态变量. 或者 全局变量, 或者作为参数传进来的另外那个 For 循环 不应该要
      

  2.   


       SqlStr = ""
       SqlStr = "exec YY_Password '" & Trim(txtUser_ID.Text) & "','" & txtPwd.Text & "'"
       Set adoTemp = ExecSQL(SqlStr)    If Not adoTemp.EOF Then
            hs_LoginUserID = UCase(Trim(txtUser_ID.Text))
            hs_LoginUserName = Trim(adoTemp.Fields("Password").Value)
            CheckLogin = True
            i = 0
        Else
          If i > j Then
            MsgBox "你以超过最大登录次数,请退出!", vbOKOnly + vbQuestion, "温馨提示"
            Unload Me
          Else
          ' GoTo Err
           CheckLogin = False
           MsgBox "用户号不存在或密码有误,请重新输入!", vbInformation, hs_TitleName
           txtPwd.SetFocus
           'txtPwd.Text = ""
           i = i + 1
          End If
        End If
      

  3.   

    呵呵!!!
    谢谢了  可是还是不行啊???
    我输入超过三次后还是一样没报 MsgBox "你以超过最大登录次数,请退出!", vbOKOnly + vbQuestion, "温馨提示"好象 i 老是为1。。
    不增加啊i+1.. 请在指点啊~~~~~~```
      

  4.   

    你的i要定义成模块级变量,不能是过程级的,就是说要把i定义在代码的最上方而不是在command1_click中