以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何按另一表的字段加载? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184197) |
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 10:59:00 -- 如何按另一表的字段加载? 窗口上如何当前登录的用户实现《图书表》按《用户表》的“用户名,阅读权限”加载相应的记录,具体的结果如图: 下面代码有问题,请帮忙处理,谢谢 Dim Filter As String Dim f2 As String = "[经办人] = \'" & User.Name & "\'" Dim dr1 As DataRow = Tables("图书表").Current.DataRow Dim dr As DataRow = DataTables("用户表").Find("[用户名] = \'" & dr1("经办人") & "\'And [阅读权限] = \'" & dr1("阅读权限") & "\'") If dr IsNot Nothing Then f2 = " and 用户名 = \'" & dr("经办人") & "\' And (" & f2 & " Or [阅读权限] = \'" & dr("阅读权限") & "\')" Else f2 = " and " & f2 End If Filter = Filter & f2 msgbox(Filter) DataTables("图书表").LoadFilter = Filter DataTables("图书表").Load() [此贴子已经被作者于2022/11/28 17:02:57编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/11/28 11:22:00 -- Dim Filter As String = "[经办人] = \'" & User.Name & "\'" Dim f2 As String = "1=2 " Dim dr As DataRow = DataTables("用户表").Find("[用户名] = \'" & dr1("经办人") & "\' and 阅读权限 is not null") If dr IsNot Nothing Then For Each s As String In dr("阅读权限").split(",") f2 = " or \',\'+ 阅读权限+\',\' like \'%," & s & ",%\'" Next End If Filter = Filter & "(" & f2 & ")" msgbox(Filter) DataTables("图书表").LoadFilter = Filter DataTables("图书表").Load()
|
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 11:53:00 -- 老师,报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.5.23.2 错误所在事件:窗口,窗口1,AfterLoad 详细错误信息: 未将对象引用设置到对象的实例。
|
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 11:56:00 -- 语法错误 (操作符丢失) 在查询表达式 \'([经办人] = \'王五\'( or \',\'+ 阅读权限+\',\' like \'%,A,%\'))\' 中。 |
||||
-- 作者:有点蓝 -- 发布时间:2022/11/28 12:06:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=150626 |
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 13:08:00 --
|
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 13:12:00 -- 上实例,请老师帮处理。需求:图书表按当前登录的用户名或阅读权限加载数据 |
||||
-- 作者:有点蓝 -- 发布时间:2022/11/28 13:39:00 -- f2 = " or \',\'+ 阅读权限+\',\' like \'%," & s & ",%\'" 改为 f2 = f2 & " or \',\'+ 阅读权限+\',\' like \'%," & s & ",%\'"
|
||||
-- 作者:lgz518 -- 发布时间:2022/11/28 13:50:00 -- 还是报错: \'.\', \'!\', 或 \'()\' 的使用非法。 在查询表达式 \'([经办人] = \'王五\'(1=2 or \',\'+ 阅读权限+\',\' like \'%,A,%\'))\' 中。 |
||||
-- 作者:有点蓝 -- 发布时间:2022/11/28 14:00:00 -- Filter = Filter & "(" & f2 & ")" 改为 Filter = Filter & " and (" & f2 & ")"
|