以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]授权代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102822) |
-- 作者:苏州老街 -- 发布时间:2017/6/26 14:50:00 -- [求助]授权代码 老师,通过下面代码隐藏窗口,我在菜单窗口下拉链的工作中还是能找到的点击的时候还报错按确定后完全显示了而且能操作。 我希望能不显示或提示而不报错不能操作。 Dim e As Object = Args(0) For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Name & "\'and 窗口名 = \'" & e.Form.Name & "\'") e.Form.Controls(dr("按扭名")).Visible = not dr("不可见") e.Form.Controls(dr("按扭名")).Enabled = not dr("不可编辑") Next
|
-- 作者:有点色 -- 发布时间:2017/6/26 15:11:00 -- 提示很明细。你的窗口上,没有对应的控件。弹出信息看看。
msgbox(e.form.name & " " & dr("按钮名")) |
-- 作者:苏州老街 -- 发布时间:2017/6/26 15:15:00 -- 老师,不好意思。 |
-- 作者:苏州老街 -- 发布时间:2017/6/26 15:54:00 -- 老师,没有用啊 Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Name & "\'" ) If dr("窗口名") = 0 Then Forms(dr("窗口名")).Show() Else Forms(dr("窗口名")).Close() End If Next End If
|
-- 作者:有点色 -- 发布时间:2017/6/26 16:05:00 -- 1、你看懂4楼的代码了吗?知道那是做什么的吗?
2、你用开发者登陆还是普通用户登录?
3、加入msgbox看是否触发了代码。 [此贴子已经被作者于2017/6/26 16:05:47编辑过]
|
-- 作者:苏州老街 -- 发布时间:2017/6/26 16:58:00 -- 老师,4楼代码不太懂 |
-- 作者:有点色 -- 发布时间:2017/6/26 17:55:00 -- 你现在的问题是什么?
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) \'如果是开发者、管理者,就显示授权表,否则不显示
If User.Type = UserTypeEnum.User Then \'如果用户是普通用户
msgbox(user.name)
For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Name & "\'" ) \'根据用户名查找信息
If dr("窗口名") = 0 Then
msgbox(dr("窗口名"))
Forms(dr("窗口名")).Show()
Else
Forms(dr("窗口名")).Close()
End If
Next
End If
|
-- 作者:苏州老街 -- 发布时间:2017/6/26 18:04:00 -- 老师,我是摆在项目事件中的,没有用。 |
-- 作者:有点色 -- 发布时间:2017/6/26 18:53:00 -- 以下是引用苏州老街在2017/6/26 18:04:00的发言:
老师,我是摆在项目事件中的,没有用。
没看懂你想问什么。7楼已经给你注释了,好好看看。 |
-- 作者:苏州老街 -- 发布时间:2017/6/26 20:03:00 -- 老师,还是报错。
|