Foxtable(狐表)用户栏目专家坐堂 → [求助]请教如何搜索一列中的多个数值 [已解决]


  共有1929人关注过本帖树形打印复制链接

主题:[求助]请教如何搜索一列中的多个数值 [已解决]

帅哥哟,离线,有人找我吗?
tyconlance
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:434 威望:0 精华:0 注册:2016/10/5 4:47:00
[求助]请教如何搜索一列中的多个数值 [已解决]  发帖心情 Post By:2016/11/11 8:01:00 [只看该作者]

请教一下老师这个筛选功能如何实现:
想针对某一列,比如产品编号列,做一个筛选,需要一次筛选出多个产品编号,比如200个产品编号,
做一个文本框,把200个编号粘贴进文本框,一次性筛选出来之后,再输出报表
非常感谢 盼回复
[此贴子已经被作者于2016/12/3 14:32:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:434 威望:0 精华:0 注册:2016/10/5 4:47:00
  发帖心情 Post By:2016/11/28 17:22:00 [只看该作者]

多谢老师 已经按您说的办法搞定了 我换成了替换回车换行符号
Filter = "[产品编号] in ('" & txt.Replace(vbcrlf,"','").TrimEnd(",") & "')"

另外想请请教一下,如何动态模糊筛选很多个值,这些值都是从TextBox1 里输入进去的, 还能用IN 或用LIKE 吗? 有没有办法动态合成?
Filter = "[列名] in ('" & txt.Replace(vbcrlf,"%','%").TrimEnd(",'%") & "')"

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部