以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]切换用户  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32679)

--  作者:anxue
--  发布时间:2013/5/6 14:53:00
--  [求助]切换用户


图片点击可在新窗口打开查看此主题相关图片如下:切换用户1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:切换用户2.jpg
图片点击可在新窗口打开查看
切换用户 ,授权表不起作用,还出现这样的错误呢

 


--  作者:XYT
--  发布时间:2013/5/6 14:55:00
--  

""能是表名吗?

[此贴子已经被作者于2013-5-6 14:55:36编辑过]

--  作者:anxue
--  发布时间:2013/5/6 15:09: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
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
   If dr("窗口不可见") = 0 Then
              Forms(dr("窗口名")).Show()
Else
              Forms(dr("窗口名")).Close()
End If    

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

 

 

授权表代码

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:授权表.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2013/5/6 15:12:00
--  
代码无空值判断,而表内那么多空值的表名列名, 不出错就有鬼了吧- -
--  作者:lsy
--  发布时间:2013/5/6 15:55:00
--  

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If  User.Type = UserTypeEnum.User Then

表都不见了,还忙乎什么呢?


--  作者:anxue
--  发布时间:2013/5/6 16:04:00
--  

空值判断代码是多少?写在哪?


--  作者:lsy
--  发布时间:2013/5/6 16:24:00
--  
以下是引用anxue在2013-5-6 16:04:00的发言:

空值判断代码是多少?写在哪?

把MessageBox.Show("错在哪儿?"),放在可能出错的地方,如果先出现这个提示,说明错在下方,反之,错在消息框的上方。


--  作者:anxue
--  发布时间:2013/5/6 16:24:00
--  

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If  User.Type = UserTypeEnum.User Then

表都不见了,还忙乎什么呢?


这个是什么意思?
--  作者:Bin
--  发布时间:2013/5/6 16: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
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
   If dr("窗口不可见") = 0 Then
              Forms(dr("窗口名")).Show()
Else
              Forms(dr("窗口名")).Close()
End If    

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