Foxtable(狐表)用户栏目专家坐堂 → 多个值合并筛选


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

主题:多个值合并筛选

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
多个值合并筛选  发帖心情 Post By:2012/3/8 13:12:00 [只看该作者]

 

Dim txt As String = e.Form.Controls("TextBox1").Text

Dim tbl As Table = Tables("A")

If txt = "" Then

    tbl.Filter = ""

Else

    If txt.contains("*")

 

        txt =  "'*" & txt.replace("*","[*]") & "*'"     

 

    Else

        txt = "'*" & txt & "*'"

    End If

    tbl.Filter = "第一列 Like " & txt & " "     

End If

 

上面的代码只能筛选符合条件的行,如果在文本框输入“中国人”时,能同时筛选出第一列分别包含“中”、“国”、“人”的行,能用“[字符列表]”设置吗?请问如何设置?

 

[此贴子已经被作者于2012-3-8 13:14:39编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/3/8 13:18:00 [只看该作者]

当然可以了,用循环语句遍历txt.Length,然后组合成复选语句即可。

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/3/8 14:11:00 [只看该作者]

Dim txt1 As String = e.Form.Controls("TextBox1").Text
Dim txt,dr As String
Dim tbl As Table = Tables("表A")
If txt1 = "" Then
    tbl.Filter = ""
Else
    For r As Integer = 0 To txt1.length - 1
        txt = txt1(r)
        If txt.contains("*")
            txt =  "'*" & txt.replace("*","[*]") & "*'"
        Else
            txt = "'*" & txt & "*'"
        End If
        dr = dr &  " 第一列 Like " & txt & " Or "
    Next
    dr = dr.Trimend(" ", "r","O")
    tbl.Filter = dr
End If

 

如果能用“[字符列表]”筛选,就简单多了。


 回到顶部