我在MS Access中设计了一个登录表单。我有不同的用户角色,并希望在不同的用户登录时显示不同的控件。例如,如果管理员已登录,则控件应该不同,普通用户应该能够使用不同的控件。
我在点击时为SignIn按钮编写的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
有不同的控件,但我无法访问Main_Form
函数中的Btn_SignIn_Click()
控件。所以,我可以显示或隐藏控件。
答案 0 :(得分:1)
with forms("main_form")
!control1.visible = true
!control2.visible = true
end with
如果有很多此类控件,您也可以使用
for each ctl in form_main_form
ctl.visible = true
next ctl
答案 1 :(得分:1)
您可以创建一个过程来验证用户是否是管理员。 例如:
Private Sub Main_Form_Load(UserLevel as String)
If UserLevel = "admin" Then
Your code here to show controls.
End If
End Sub
我建议默认隐藏控件,只能由管理员使用。
然后你可以在其他问题中调用UserForm发送参数作为其他解算器: