Show/Hide 不同用户的不同控件 MS Access 表单

Show/Hide different Controls for different Users MS Access Form

我在 MS Access 中设计了一个登录表单。我有不同的用户角色,想在不同的用户登录时显示不同的控件。例如,如果管理员登录,控件应该不同,普通用户应该能够使用不同的控件。

我为点击登录按钮编写的 vba 代码如下(此代码用于 Login_Form):

Private Sub Btn_SignIn_Click()

IF Me.Txt_UserID.Value = "admin" AND Me.Txt_Password = "123admin"  
                                 AND Me.Cmbo_UserRole.Value = "DBA"  
THEN

    MsgBox "Welcome to RMS", vbOKOnly, "Logged in as Admin!"

    DoCmd.OpenForm "Main_Form"
    --How can I show/hide controls here at Main_Form
End If  

Main_Form 有不同的控件,但我无法访问 Btn_SignIn_Click() 函数内的 Main_Form 控件。这样,我就可以显示或隐藏控件。

with forms("main_form")
   !control1.visible = true
   !control2.visible = true
end with

如果有很多这样的控件,也可以使用

for each ctl in form_main_form
   ctl.visible = true
next ctl

您可以创建一个过程来验证用户是否为管理员。 例如:

Private Sub Main_Form_Load(UserLevel as String)

  If UserLevel = "admin" Then
     Your code here to show controls.
  End If
End Sub

我建议默认情况下隐藏仅应由管理员使用的控件。

然后你就可以在其他问题中像其他求解器一样调用用户窗体发送参数了:

Passing parameters between forms in MS Access