以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教如何搜索一列中的多个数值 [已解决] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92720) |
-- 作者:tyconlance -- 发布时间:2016/11/11 8:01:00 -- [求助]请教如何搜索一列中的多个数值 [已解决] 请教一下老师这个筛选功能如何实现: 想针对某一列,比如产品编号列,做一个筛选,需要一次筛选出多个产品编号,比如200个产品编号, 做一个文本框,把200个编号粘贴进文本框,一次性筛选出来之后,再输出报表 非常感谢 盼回复 [此贴子已经被作者于2016/12/3 14:32:53编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/11/11 8:44:00 -- 1、假设编号之间用逗号分割 Dim txt As String = Forms("窗口1").Controls("Textbox1").Text Tables("表A").Filter = "编号 in (\'" & txt.Replace(",","\',\'") & "\')" 2、增加一个逻辑列,通过逻辑列进行筛选,如筛选已勾选的 Tables("表A").Filter = "逻辑列 = true"
|
-- 作者:tyconlance -- 发布时间:2016/11/28 17:22:00 -- 多谢老师 已经按您说的办法搞定了 我换成了替换回车换行符号 Filter = "[产品编号] in (\'" & txt.Replace(vbcrlf,"\',\'").TrimEnd(",") & "\')" 另外想请请教一下,如何动态模糊筛选很多个值,这些值都是从TextBox1 里输入进去的, 还能用IN 或用LIKE 吗? 有没有办法动态合成? Filter = "[列名] in (\'" & txt.Replace(vbcrlf,"%\',\'%").TrimEnd(",\'%") & "\')" |
-- 作者:有点蓝 -- 发布时间:2016/11/28 17:50:00 -- Dim arr() As String = txt.Replace(vbcrlf,"\',\'").TrimEnd(",").split(",") Dim str As String = "1=2" For Each c As String In arr str &= " or [产品编号] like \'%" & c & "%\' " Next Filter = str
|