我在MS Access 2007中创建了一个3级用户访问数据库,我想要发生的是当每个用户登录时,他们直接指向他们自己的目的构建菜单,即管理员菜单,开发人员菜单和用户菜单。
目前,无论用户登录哪个用户直接进入主菜单,如果登录的用户只有用户的访问级别,他仍然可以访问管理员和开发人员表格/表单等。
以下是用户输入密码并登录时输入的VB代码。我可以输入哪些附加代码,以便将每个特定用户引导至其菜单?
Private Sub txtPassword_AfterUpdate()
'Check that EE is selected
If IsNull(Me.cboUser) Then
MsgBox "You need to select a user!", vbCritical
Me.cboUser.SetFocus
Else
'Check for correct password
If Me.txtPassword = Me.cboUser.Column(2) Then
'Check if password needs to be reset
If Me.cboUser.Column(3) = True Then
DoCmd.OpenForm "frmPasswordChange", , , "[UserID] = " & Me.cboUser
End If
DoCmd.OpenForm "frmMainMenu"
Me.Visible = False
Else
MsgBox "Password does not match, please re-enter!", vboOkOnly
Me.txtPassword = Null
Me.txtPassword.SetFocus
End If
End If
End Sub
答案 0 :(得分:1)
您可以向cboUser
添加另一列UserType
。然后没有这个:
DoCmd.OpenForm "frmMainMenu"
你会有这样的事情:
Select Case Me.cboUser.Column(4) 'Assuming 4 is the UserType column
Case "Admin"
DoCmd.OpenForm "frmAdmin"
Case "Developer"
DoCmd.OpenForm "frmDeveloper"
Case "User"
DoCmd.OpenForm "frmUser"
Case Else
MsgBox "An error has occurred"
End Select
只需调整正确的命名。这只是让系统对那种类型的用户开放。