在用户登录窗口的登录按钮中,我做了一个权限的代码,意思就是按用户的分组进行权限来加载窗口,首先是一个显示菜单的遍历,然后是根据分组来决定关闭哪些功能区及某个功能区的相关的功能组,按下面的代码做了之后,我发现一个问题,当一个用户直接登录时,代码没问题,如果说在菜单中选择了切换客户后,问题就出来了,原来有功能组给关闭的报表功能区及系统功能区中的相关的功能组就仍然是关闭的了
看来,我原来认为 rb,就是一个菜单的所有功能区及功能组的集合,现在看来只是功能区,并不代表功能组,那么,应该如何来做呢?
For Each rb As RibbonMenu.Tab In RibbonTabs 'RibbonTabs是一个菜单集合,可以用for each遍历的
rb.Visible = True '显示菜单
Next
Select Case dr("Group")
Case "采购"
RibbonTabs("销售管理").Visible = False
RibbonTabs("财务管理").Visible = False
RibbonTabs("系统管理").Groups("销售信息").Visible = False
RibbonTabs("系统管理").Groups("财务信息").Visible = False
RibbonTabs("报表管理").Groups("销售出库").Visible = False
RibbonTabs("报表管理").Groups("财务报表").Visible = False
Case "销售"
RibbonTabs("财务管理").Visible = False
RibbonTabs("采购管理").Visible = False
RibbonTabs("系统管理").Groups("采购信息").Visible = False
RibbonTabs("系统管理").Groups("财务信息").Visible = False
RibbonTabs("报表管理").Groups("采购入库").Visible = False
RibbonTabs("报表管理").Groups("财务报表").Visible = False
Case "财务"
RibbonTabs("销售管理").Visible = False
RibbonTabs("采购管理").Visible = False
RibbonTabs("系统管理").Groups("销售信息").Visible = False
RibbonTabs("系统管理").Groups("采购信息").Visible = False
RibbonTabs("报表管理").Groups("销售出库").Visible = False
RibbonTabs("报表管理").Groups("采购入库").Visible = False
End Select
[此贴子已经被作者于2011-12-18 21:30:20编辑过]