以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]根据逻辑列值授权  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107818)

--  作者:天一生水
--  发布时间:2017/10/10 20:45:00
--  [求助]根据逻辑列值授权

根据数据表“计划安排”中的[共享]列的逻辑值,写的代码,没起作用,是什么原因?

 

项目LoadUserSetting代码:

If User.Name = "AAA" Then                        \'AAA可看表所有行数据
    DataTables("计划安排").LoadFilter = ""
Else
    For Each dr As DataRow In DataTables("计划安排").DataRows
        If dr("共享") = True Then                    ’如果[共享]列勾选,本工作组可看
            DataTables("计划安排").LoadFilter = "工作组 = \'" & User.group & "\'"
        Else                                                   ’否则,只能看[作者]是登录人本人的行
            DataTables("计划安排").LoadFilter = "作者 = \'" & User.Name & "\'"
        End If
    Next
End If
DataTables("计划安排").Load()


--  作者:有点蓝
--  发布时间:2017/10/10 20:52:00
--  
If User.Name = "AAA" Then                        \'AAA可看表所有行数据
    DataTables("计划安排").LoadFilter = ""
Else                                                  \'否则,只能看[作者]是登录人本人的行
    DataTables("计划安排").LoadFilter = "作者 = \'" & User.Name & "\' or 工作组 = \'" & User.group & "\' and 共享= ture"
End If
DataTables("计划安排").Load()

--  作者:天一生水
--  发布时间:2017/10/10 21:17:00
--  

除了AAA加载全部行外,其余的人都加载不了行。。。是哪里原因?


--  作者:有点蓝
--  发布时间:2017/10/10 21:24:00
--  
msgbox("作者 = \'" & User.Name & "\' or 工作组 = \'" & User.group & "\' and 共享= ture") 弹出看看是什么内容?
--  作者:天一生水
--  发布时间:2017/10/10 21:42:00
--  

弹出的内容没问题,是当前登录人,所属的工作组也对,后边就是“and 共享 = ture”。

 

 


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

--  作者:有点蓝
--  发布时间:2017/10/10 22:06:00
--  
上传实例测试
--  作者:天一生水
--  发布时间:2017/10/10 22:20:00
--  

例子:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.table

 

蓝老师,用AAA可全加载,同组的BBB无加载内容了。

 

另外,我实际项目是外部表,例子是内部表。


--  作者:有点蓝
--  发布时间:2017/10/10 22:31:00
--  
图片点击可在新窗口打开查看

DataTables("计划安排").LoadFilter = "作者 = \'" & User.Name & "\' or 工作组 = \'" & User.group & "\' and 共享= true"

如果是Sqlserver,改为

DataTables("计划安排").LoadFilter = "作者 = \'" & User.Name & "\' or 工作组 = \'" & User.group & "\' and 共享= 1"
[此贴子已经被作者于2017/10/10 22:31:54编辑过]