以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报错,不存在名为“”的Table (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70084) |
-- 作者:guning007 -- 发布时间:2015/6/15 17:18:00 -- 报错,不存在名为“”的Table 我在项目事件AfterOpenProject中加入如下可视化授权代码 Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then For Each dr As DataRow In DataTables("授权表").Select("用户分组 = \'" & User.Group & "\'" ) If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见") Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") End If Next End If 然后有件奇怪的事情发生,我用开发者和管理员登录时,没有问题,但是如果用任何一个其他用户登录,就会报两个错误。 1, 不存在名为“”的Table 2, 未将对象引用设置到对象的实例 想问问是因为这段代码的问题吗? 谢谢!
|
-- 作者:Bin -- 发布时间:2015/6/15 17:20:00 -- Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then For Each dr As DataRow In DataTables("授权表").Select("用户分组 = \'" & User.Group & "\'" ) If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else if dr.isnull("表名")=false then Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见") Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") End If Next End If
|
-- 作者:大红袍 -- 发布时间:2015/6/15 17:20:00 --
For Each dr As DataRow In DataTables("授权表").Select("用户分组 = \'" & User.Group & "\' and 表名 is not null" )
|
-- 作者:guning007 -- 发布时间:2015/6/15 23:13:00 -- 多谢二位的耐心指点,我把两位给出的建议都加上去了,现在好了。 |