一、如何实现在ACCESS自定义菜单的显示与否、可用与否,或者菜单中的某个子小菜单的显示与否、可用与否,即随着登陆用户性质的不同,而有不同的表现???
可通过在菜单所在的窗体加载事件中写入以下类似的代码来实现:
If Forms!登陆窗口!Combo用户名 = "管理员" Then
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Enabled = True
Else
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Enabled = False
End If
1、此例说的是:当登陆的用户其用户名为“管理员”时,“OptionInterpose”自定义菜单中的“用户设置”子菜单可用,否则则不可用。
2、若要设置OptionInterpose”自定义菜单中的“用户设置”子菜单中的下级子菜单如“aaa”不可用则:
If Forms!登陆窗口!Combo用户名 = "管理员" Then
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Controls("aaa").Enabled = True
Else
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Controls("aaa")Enabled = False
End If
...
3、若还要禁用“OptionInterpose”自定义菜单中的多个子菜单,则以此类推:
If Forms!登陆窗口!Combo用户名 = "管理员" Then
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Enabled = True
Application.CommandBars("OptionInterpose").Controls("...").Enabled=True
......
Else
Application.CommandBars("OptionInterpose").Controls("用户设置(&U)").Enabled = False
Application.CommandBars("OptionInterpose").Controls("...").Enabled=False
......
End If
4、若要使整个“OptionInterpose”菜单只“管理员”登陆时可用,只须改为:
If Forms!登陆窗口!Combo用户名 = "管理员" Then
Application.CommandBars("OptionInterpose").Enabled = True
Else
Application.CommandBars("OptionInterpose").Enabled = False
End If
具体要实现什么效果,自己再想想…。