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