以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选时如何避开括号中的数据进行筛选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192853)

--  作者:HappyFt
--  发布时间:2024/7/26 20:08:00
--  筛选时如何避开括号中的数据进行筛选
1.0(+0/-0.05)*354(+0/-0.4)*354(+0/-0.4)

如上所示是规格列的值,括号中是左侧数值的公差,现在如果要实现在文本框中输入: 1.0*354
就可以正确筛选出来?也就是要忽略实际规格列中的括号进行筛选,
文本框中输入值的代码要如何写才可以? 当然规格列中有的值可能是1.0*2*35这样的值,也不一定每个值都有括号;


谢谢!

--  作者:有点蓝
--  发布时间:2024/7/27 8:58:00
--  
添加一个辅助列,把去掉括号的值存储到辅助列。
--  作者:HappyFt
--  发布时间:2024/7/27 9:35:00
--  
原来就是这样做的,但每个要筛选的窗口都要调用规格及规格无公差两列,感觉比较麻烦,所以想问一下有没有直接可以用正则表达式等之类的过滤筛选的办法?
--  作者:有点蓝
--  发布时间:2024/7/27 9:50:00
--  
没有的。
--  作者:y2287958
--  发布时间:2024/7/28 10:18:00
--  
可以的,只是狗在单位,明天上班看看
--  作者:y2287958
--  发布时间:2024/7/29 8:56:00
--  
Dim id集 As New List(Of Integer)(DataTables("表A1").dataRows.
where(Function(行) String.join("", CStr(行("第一列")).Split("()".ToCharArray).where(Function(元素, 索引) 索引 Mod 2 = 0)) Like "*1.0[*]354*" = True).
select(Function(行) CInt(行("_Identify"))))
Tables("表A1").Filter = "[_Identify] in(" & String.Join(",", id集) & ")"