变量未定义 - Microsoft Access

时间:2014-05-31 18:56:52

标签: variables undefined ms-access-2013

我在Microsoft Access中为我的登录按钮创建了一个脚本。我希望按钮在将用户名称,密码和安全级别带到适合该用户的相应屏幕之前验证用户名称,密码和安全级别。我不希望他们能够看到其他信息,所以我知道我需要保护我的前端(后端已经安全)。这是我的代码和调试时未得到的错误 -

enter code here

Option Compare Database


Private Sub cmdLogin_Click()

Dim rs As Recordset

    Set rs = CurrentDb.OpenRecordset("tblUsers", dbOpenSnapshot, dbReadOnly)

   rs.FindFirst "UserName= '" & Me.txtUserName & "'"

   If rs.NoMatch = True Then
   Me.lblWrongUser.Visible = True
   Me.txtUserName.SetFocus

   Exit Sub

End If
    Me.lblWrongUser.Visible = False

    If rs!Password <> Me.txtPassword Then
    Me.lblWrongPass.Visible = True
    Me.txtPassword.SetFocus

Exit Sub

End If
    Me.lblWrongPass.Visible = False

If UserSecrityLevel = 1 Then
    DoCmd.OpenForm "AdminDashboard"
    DoCmd.Close acForm, Me.Name

    Exit Sub

End If

If rs!UserSecurityLevel = 3 Then
    DoCmd.OpenForm "PSAdmiinDashboard"
    DoCmd.Close acForm, Me.Name

    Exit Sub

End If

If rs!UserSecurityLevel = 2 Then
    DoCmd.OpenForm "CollectionsDashboard"
    DoCmd.Close acForm, Me.Name

    Exit Sub

End If

If rs!UserSecurityLevel = 4 Then
    DoCmd.OpenForm "ProcurmentDashboard"
    DoCmd.Close acForm, Me.Name
    Exit Sub

End If





End Sub

1 个答案:

答案 0 :(得分:1)

看起来你拼错了UserSecurityLevel而错过了rs!在以下

If UserSecrityLevel = 1 Then
   ... etc

应该是

If rs!UserSecurityLevel = 1 Then
       ... etc

因此, UserSecrityLevel 被解释为未定义的变量