我在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
答案 0 :(得分:1)
看起来你拼错了UserSecurityLevel而错过了rs!在以下
If UserSecrityLevel = 1 Then
... etc
应该是
If rs!UserSecurityLevel = 1 Then
... etc
因此, UserSecrityLevel 被解释为未定义的变量
永