以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  可视化授权代码修改出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125352)

--  作者:chongziwang
--  发布时间:2018/9/26 20:32:00
--  可视化授权代码修改出错
For Each t As Table In Tables \'显示所有表和列
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If  User.Type <> UserTypeEnum.User Then
    Return
End If
For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
    If dr.IsNull("列名") Then
        Dim bms() As String = dr("表名").Split(",")
        For Each bm As String In bms
            Tables(dr(bm)).Visible = Not dr("不可见")
            Tables(dr(bm)).AllowEdit = Not dr("不可编辑")
        Next
    Else
        Dim nms() As String = dr("列名").Split(",")
        For Each nm As String In nms
            Tables(dr("表名")).Cols(nm).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(nm).AllowEdit = Not dr("不可编辑")
        Next
    End If
Next

--  作者:chongziwang
--  发布时间:2018/9/26 20:53:00
--  
.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:项目,LoadUserSetting
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:有点甜
--  发布时间:2018/9/26 22:08:00
--  

应该是你填写的【表名】或者【列名】写错了导致的。你可以msgbox弹出表名、列名看一下。


--  作者:chongziwang
--  发布时间:2018/9/26 23:14:00
--  
感谢有点甜,是表名不可以多选