以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] Filter Contains (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51869) |
-- 作者:home8225 -- 发布时间:2014/6/4 17:35:00 -- [求助] Filter Contains 窗口里有个输入项为操作者的名字 现在的代码是 Filter = Filter & "操作者 = \'" & .Value & "\'",结果是筛选条件为 :操作者=.Value 想问下怎么改使筛选出来的结果为 包含输入的操作者名字,谢谢! Dim Filter As String Filter = "" With e.Form.Controls("操作者") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "操作者 = \'" & .Value & "\'" End If End With [此贴子已经被作者于2014-6-4 17:36:05编辑过]
|
-- 作者:Bin -- 发布时间:2014/6/4 17:39:00 -- 用like http://www.foxtable.com/help/topics/1647.htm |
-- 作者:home8225 -- 发布时间:2014/6/4 17:45:00 -- 是这样么? 我试了下发现筛选不出来东西 Dim Filter As String Filter = "" With e.Form.Controls("操作者") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "操作者 like \'%.Value%\'" End If End With
|
-- 作者:Bin -- 发布时间:2014/6/4 17:49:00 -- Filter = Filter & "操作者 like \'%" & .Value & "%\'" |
-- 作者:有点甜 -- 发布时间:2014/6/4 17:55:00 -- Dim Filter As String
Filter = "1=1"
With e.Form.Controls("操作者")
If .Value <> Nothing Then
Filter = Filter & " and 操作者 like \'*" & .Value & "*\'" End If
End With
[此贴子已经被作者于2014-6-4 17:55:13编辑过]
|
-- 作者:xxk02 -- 发布时间:2014/10/2 16:40:00 -- 我也遇到类似问题,用like难以精确过滤,比如操作者1为\'张三,李四\',操作者2为\'张三一,李四\', 操作者3为\'李张三,李四\',我想过滤出\'张三\'的所有行,但用 Filter = 操作者 like \'%" & .Value & "%\'",却将\'张三一\'和\'李张三\'所在行也过滤出来,请问在这种情况下怎么写过滤条件? |
-- 作者:lsy -- 发布时间:2014/10/2 16:52:00 -- 以下是引用xxk02在2014-10-2 16:40:00的发言:
我也遇到类似问题,用like难以精确过滤,比如操作者1为\'张三,李四\',操作者2为\'张三一,李四\', 操作者3为\'李张三,李四\',我想过滤出\'张三\'的所有行,但用 Filter = 操作者 like \'%" & .Value & "%\'",却将\'张三一\'和\'李张三\'所在行也过滤出来,请问在这种情况下怎么写过滤条件? Dim Filter As String
Filter = "1=1"
With e.Form.Controls("操作者")
If .Value <> Nothing Then
Filter = Filter & " And 操作者 = \'" & .Value & "\'" End If
End With
|
-- 作者:xxk02 -- 发布时间:2014/10/2 17:05:00 -- 我是找出操作列包含\'.Value\'的用户,如操作者列为\'张三,李四\',不仅仅有为\'张三\',还有\'李四\', |
-- 作者:yan2006l -- 发布时间:2014/10/3 12:16:00 -- 这个只能最原始的编码: 遍历所有行,每个行的单元格用spilt(,)弄成数组,看这个数组有没有contains你的变量,如果有记住这行的ID 最后把这些ID放到()里面,然后filter就是用in来写 |
-- 作者:有点甜 -- 发布时间:2014/10/4 9:42:00 -- 以下是引用xxk02在2014-10-2 16:40:00的发言:
我也遇到类似问题,用like难以精确过滤,比如操作者1为\'张三,李四\',操作者2为\'张三一,李四\', 操作者3为\'李张三,李四\',我想过滤出\'张三\'的所有行,但用 Filter = 操作者 like \'%" & .Value & "%\'",却将\'张三一\'和\'李张三\'所在行也过滤出来,请问在这种情况下怎么写过滤条件?
Dim Filter As String |