以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教如何通过用户角色实现授权管理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111084)

--  作者:foxtable_New
--  发布时间:2017/12/14 18:13:00
--  请教如何通过用户角色实现授权管理

图片点击可在新窗口打开查看此主题相关图片如下:如何通过用户角色实现授权管理.bmp
图片点击可在新窗口打开查看

--  作者:rjh4078
--  发布时间:2017/12/14 18:39:00
--  
datatables("表1").loadfilter="公司名称=‘" & user.Roles & "\'"
datatables("表1").load

--  作者:foxtable_New
--  发布时间:2017/12/14 20:33:00
--  

datatables("表1").loadfilter="公司名称=‘" & user.Roles & "\'"

这条代码显然是错误的,当用户角色只勾选一家公司时这样写是对的,但用户角色勾选多家公司时,这样写显然是错误的。


--  作者:foxtable_New
--  发布时间:2017/12/14 20:43:00
--  

datatables("表1").loadfilter="公司名称=‘" & user.Roles & "\'"

这条代码显然是错误的,当用户角色只勾选一家公司时这样写是对的,但用户角色勾选多家公司时,这样写显然是错误的。如用户角色勾选一厂、二厂、三厂时,user.Roles 的值为“一厂,二厂,三厂”,而公司名称任何一个值都不可是这样的,这条代码显然错得离谱。


--  作者:有点甜
--  发布时间:2017/12/14 23:48:00
--  

参考代码

 

Dim filter As String = "1=2"
For Each s As String In user.Roles.split(",")
    filter &= " or 公司名称 = \'" & s & "\'"
Next

msgbox(filter)