Foxtable(狐表)用户栏目专家坐堂 → [求助]根据逻辑列值授权


  共有1749人关注过本帖树形打印复制链接

主题:[求助]根据逻辑列值授权

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]根据逻辑列值授权  发帖心情 Post By: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()


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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()

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2017/10/10 21:17:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/10 21:24:00 [只看该作者]

msgbox("作者 = '" & User.Name & "' or 工作组 = '" & User.group & "' and 共享= ture") 弹出看看是什么内容?

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2017/10/10 21:42:00 [只看该作者]

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

 

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/10 22:06:00 [只看该作者]

上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2017/10/10 22:20:00 [只看该作者]

例子:

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部