以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]权限加载问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184623) |
-- 作者:Cloud -- 发布时间:2022/12/17 10:24:00 -- [求助]权限加载问题 求大神指点: 用户表有三列为用户名|公司|公司1|公司2,分析表有公司列:在分析表的公司列中分别填入用户表中的公司|公司1公司2的名称,在加载分析表时此用户有查看所有公司的权限代码如下: Dim Filter As String Filter = "公司 = \'" & Tables("用户表").Current("公司") & "\'and 公司 = \'" & Tables("用户表").Current("公司1") & "\'and 公司 = \'" & Tables("用户表").Current("公司2") & "\'" DataTables("分析表").LoadFilter = Filter DataTables("分析表").Load() 打开窗口加载时只能加载名称为公司的行,不能加载名称为公司1和公司2的行。 同样的方式,查询时代码: Dim khmc As WinForm.ComboBox = e.Form.Controls("客户名称") DataTables("分析表").LoadFilter = "客户名称 like \'%" & khmc.text & "%\'and 公司 = \'" & Tables("用户表").Current("公司") & "\'and 公司 = \'" & Tables("用户表").Current("公司1") & "\'and 公司 = \'" & Tables("用户表").Current("公司2") & "\'" DataTables("分析表").Load() 查询时只能查询出名称为公司的行,不能查询出名称为公司1和公司2的行。 请大神指点一下,谢谢 |
-- 作者:有点蓝 -- 发布时间:2022/12/17 10:31:00 -- and 改为 or:http://www.foxtable.com/webhelp/topics/0102.htm Filter = "公司 = \'" & Tables("用户表").Current("公司") & "\' or 公司 = \'" & Tables("用户表").
|
-- 作者:Cloud -- 发布时间:2022/12/17 11:01:00 -- 大神好: 改好后加载 没问题了,查询不行 Dim khmc As WinForm.ComboBox = e.Form.Controls("客户名称") DataTables("生产核价_款式主表").LoadFilter = "客户名称 like \'%" & khmc.text & "%\' and 生产工厂 = \'" & Tables("用户表").Current("用户地区") & "\' or 生产工厂 = \'" & Tables("用户表").Current("分公司") & "\'or 生产工厂 = \'" & Tables("用户表").Current("分公司1") & "\'" DataTables("生产核价_款式主表").Load() |
-- 作者:有点蓝 -- 发布时间:2022/12/17 11:04:00 -- 看来还是没有认真看帮助 计算表达式值的时候,And 优先于 Or,可以使用括号组合表达式来强制改变优先级,例如: 表示省籍是湖南或者广东的博士。 |
-- 作者:Cloud -- 发布时间:2022/12/17 12:04:00 -- 谢谢 |