Foxtable(狐表)用户栏目专家坐堂 → [求助] Filter Contains


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

主题:[求助] Filter Contains

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


加好友 发短信
等级:幼狐 帖子:169 积分:1678 威望:0 精华:0 注册:2014/3/27 16:44:00
[求助] Filter Contains  发帖心情 Post By:2014/6/4 17:35:00 [只看该作者]


窗口里有个输入项为操作者的名字       
现在的代码是 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



 
图片点击可在新窗口打开查看此主题相关图片如下:qq截圖20140604173352.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-6-4 17:36:05编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/4 17:39:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:169 积分:1678 威望:0 精华:0 注册:2014/3/27 16:44:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/4 17:49:00 [只看该作者]

Filter = Filter & "操作者 like '%" & .Value & "%'"

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:1646 威望:0 精华:0 注册:2014/9/26 11:18:00
  发帖心情 Post By:2014/10/2 16:40:00 [只看该作者]

       我也遇到类似问题,用like难以精确过滤,比如操作者1为'张三,李四',操作者2为'张三一,李四',

操作者3为'李张三,李四',我想过滤出'张三'的所有行,但用 Filter = 操作者 like '%" & .Value & "%'",却将'张三一'和'李张三'所在行也过滤出来,请问在这种情况下怎么写过滤条件?


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:1646 威望:0 精华:0 注册:2014/9/26 11:18:00
  发帖心情 Post By:2014/10/2 17:05:00 [只看该作者]

      我是找出操作列包含'.Value'的用户,如操作者列为'张三,李四',不仅仅有为'张三',还有'李四',

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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2014/10/3 12:16:00 [只看该作者]

这个只能最原始的编码:

遍历所有行,每个行的单元格用spilt(,)弄成数组,看这个数组有没有contains你的变量,如果有记住这行的ID

最后把这些ID放到()里面,然后filter就是用in来写


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/4 9:42: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 & "' or 操作者 like '" & .Value & ",%' or 操作者 like '%," & .Value & ",%' or 操作者 = "%," & .Value & "')"
    End If
End With


 回到顶部