以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]禁用菜单权限没用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43870)

--  作者:kiooy
--  发布时间:2013/12/17 22:30:00
--  [求助]禁用菜单权限没用

菜单的功能区、功能组以及所有的菜单组件,都有Visible和Enabled属性,这样我们可以根据登录用户的不同,隐藏和禁用某些菜单项目,实现菜单的授权。

示例一

我们增加一个用户“录入员”,如果该用户登录,隐藏“数据表”和“管理项目”两个功能区,并禁用杂项功能区的“执行SQL”和 “命令窗口”两个按钮。

第一步当然是增加一个名为“录入员”的用户,然后在菜单系统事件LoadUserSetting加入如下代码:

If User.Name = "录入员" Then
RibbonTabs(
"Table").Visible = False
RibbonTabs(
"Project").Visible = False
RibbonTabs(
"Other").Groups("Execute").Items("SQLExecute").Enabled = False
RibbonTabs(
"Other").Groups("Execute").Items("Command").Enabled = False
Else

RibbonTabs(
"Table").Visible = True
RibbonTabs(
"Project").Visible = True
RibbonTabs(
"Other").Groups("Execute").Items("SQLExecute").Enabled = True
RibbonTabs(
"Other").Groups("Execute").Items("Command").Enabled = True
End
If

 

我有一个普通用户,我不希望他编辑我的表结构,我从帮助文件里面找到这个代码,但是我复制后,却没有用处,也不提示错误。


--  作者:有点甜
--  发布时间:2013/12/17 23:01:00
--  
 第一句,user.name = "录入员",你这个普通用户的名字,如果叫录入员,就会隐藏菜单。
--  作者:kiooy
--  发布时间:2013/12/17 23:08:00
--  

是的,我新建的用户叫做 普通, 我把代码里面的 录入员改成了 普通,但是没有用


--  作者:有点甜
--  发布时间:2013/12/17 23:11:00
--  
 代码要写在LoadUserSetting事件里,然后你重新打开项目看看。
--  作者:kiooy
--  发布时间:2013/12/17 23:18:00
--  
我就是写在里面的,我搅麻了···
--  作者:kiooy
--  发布时间:2013/12/17 23:24:00
--  

If User.Name = "普通" Then
RibbonTabs(
"Table").Visible = False
RibbonTabs(
"Project").Visible = False
RibbonTabs(
"Other").Groups("Execute").Items("SQLExecute").Enabled = False
RibbonTabs(
"Other").Groups("Execute").Items("Command").Enabled = False
Else

RibbonTabs(
"Table").Visible = True
RibbonTabs(
"Project").Visible = True
RibbonTabs(
"Other").Groups("Execute").Items("SQLExecute").Enabled = True
RibbonTabs(
"Other").Groups("Execute").Items("Command").Enabled = True
End
If

 


图片点击可在新窗口打开查看此主题相关图片如下:2013-12-17_23-22-50.jpg
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2013/12/18 8:32:00
--  
报什么错? 最好能上个例子.
--  作者:kiooy
--  发布时间:2013/12/18 16:37:00
--  
没有错,什么报错都没有,就是隐藏不了,我就建立另一个表格,然后按照文档说明 试验这个功能,不能用
--  作者:Bin
--  发布时间:2013/12/18 16:38:00
--  
没有道理,上例子.
--  作者:kiooy
--  发布时间:2013/12/18 16:39:00
--  
我查阅了这个问题,在论坛上,我看到一个 叫 狐狸爸爸的人 回复了别人的帖子,说是要把这功能做到登录按钮里面,我初学者,就不太懂这个含义了,我登录都是打开文件然后自动弹出一个登陆框就登录了,我才学几天。