如何引导用户使用自己设计的菜单

时间:2015-07-13 14:25:21

标签: ms-access access-vba ms-access-2007

我在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

1 个答案:

答案 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

只需调整正确的命名。这只是让系统对那种类型的用户开放。