以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表A第一列(多值列)对表B的第一列含有值的行筛选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187139)

--  作者:185723664
--  发布时间:2023/6/25 21:11:00
--  [求助]表A第一列(多值列)对表B的第一列含有值的行筛选
[求助]表A第一列(多值列)对表B的第一列含有值的行筛选
下面代码不能实现上面效果,求助下面代码实现上面效果

表a CurrentChanged

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End If

Dim vals() As String = e.Table.Current("第一列").split(",")


Dim s As String = "("
For Each val As String In vals
    s = s & "\'" & val & "\',"
Next
s = s.trim(",") & ")"
Tables("表B").Filter = "第一列 in " & s
[此贴子已经被作者于2023/6/25 21:22:29编辑过]

--  作者:有点蓝
--  发布时间:2023/6/25 21:40:00
--  
If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End If

Tables("表B").Filter = "第一列 in (\'" & e.Table.Current("第一列").replace(",","\',\'") & "\')"

--  作者:185723664
--  发布时间:2023/6/25 21:59:00
--  回复:(有点蓝)If e.Table.Current Is Nothing Then...
蓝总,上楼代码,表B第一列,是多值时(含有表A多值中的一个值),筛选不出来还有问题
--  作者:有点蓝
--  发布时间:2023/6/25 22:07:00
--  

Dim vals() As String = e.Table.Current("第一列").split(",")


Dim s As String = "1=2"
For Each val As String In vals
    s = s & " or \',\'+第一列+\',\' like \'%," & val & ",%\'’"
Next
Tables("表B").Filter = s
[此贴子已经被作者于2023/6/25 22:49:42编辑过]

--  作者:185723664
--  发布时间:2023/6/25 22:29:00
--  回复:(有点蓝)Dim vals() As String = e.Table.Cur...
蓝总,上楼代码表达式报错,求助修复
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:12.foxdb


--  作者:有点蓝
--  发布时间:2023/6/25 22:49:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:12.zip