以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于user.roles在动态加载中的设置  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133219)

--  作者:hawkgo
--  发布时间:2019/4/9 20:45:00
--  [求助]关于user.roles在动态加载中的设置
我们可以用user.group进行下载权限的设置,也可以在user.roles上进行设置加载的类型,但是由一个问题就是,roles的属性是一个集合,用逗号隔开的,所以,如果是多选的话,应该如何设置?


在窗口的afterload上,设置加载树的sql语句,其中   roles有  A,B,C 三个角色,有些人是A,或者,A,B  或者 A,C角色,
后面的where 如何接?
比如:
‘cmd.CommandText = "S*ECT DISTINCT Year(创建时间) as 年,分类2 From {订单信息}  where  角色   in (\'"user.roles"\')"
这句没有用,
                in换成like也没有用。
由于是多值,好像=也有问题。


这个该如何设置?


--  作者:有点蓝
--  发布时间:2019/4/9 20:53:00
--  
cmd.CommandText = "SELECT DISTINCT Year(创建时间) as 年,分类2 From {订单信息}  where  角色   in (\'" & user.roles.replace(",","\',\'") & "\')"
--  作者:hawkgo
--  发布时间:2019/4/9 21:18:00
--  
能解释一下吗?里面的逗号?谢谢了。
--  作者:有点蓝
--  发布时间:2019/4/9 21:25:00
--  
msgbox("SELECT DISTINCT Year(创建时间) as 年,分类2 From {订单信息}  where  角色   in (\'" & user.roles.replace(",","\',\'") & "\')")
自己测试看效果,看看有什么不同

msgbox("SELECT DISTINCT Year(创建时间) as 年,分类2 From {订单信息}  where  角色   in (\'" & user.roles & "\')")

--  作者:hawkgo
--  发布时间:2019/4/9 21:25:00
--  
提示错误,‘)\'旁边有错误。
--  作者:hawkgo
--  发布时间:2019/4/9 21:26:00
--  
\'(\' 附近有语法错误。

--  作者:有点蓝
--  发布时间:2019/4/9 21:33:00
--  
这种基础的错误自己判断改正。
--  作者:有点蓝
--  发布时间:2019/4/9 21:34:00
--  
4楼的代码我测试没有问题
--  作者:hawkgo
--  发布时间:2019/4/9 21:37:00
--  
字符串 \'\' 后的引号不完整。
缺少对象或列名,或者对象或列名为空。对于 SELECT INTO 语句,请确保每列均具有名称。对于其他语句,请查找空的别名。不允许使用定义为 "" 或 [] 的别名。请将别名更改为有效名称。
\'(\' 附近有语法错误。

--  作者:有点蓝
--  发布时间:2019/4/9 21:39:00
--  
写了什么代码