以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  包含与多值筛选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=18498)

--  作者:实话实说
--  发布时间:2012/4/15 14:22:00
--  包含与多值筛选

以下2段筛选代码单独使用没有问题,我想将这2段代码合并在一起,组成包含与多值筛选,试了一下,老不成功,特此求助,代码按钮在表A窗口

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.table

 

\'模糊包含
Dim Filter As String
With e.Form.Controls("姓名")
    If .Value IsNot Nothing Then
        Filter = "姓名 Like \'*" & .Value & "*\'"
    End If
End With
Tables("表A").filter = Filter

 

\'多值筛选
Dim Filter As String = e.Form.Controls("姓名").Value
If Filter > "" Then
    If Filter.Contains(",") Then
        Filter = "\'" & Filter.Replace(",","\',\'") & "\'"
        Tables("表A").Filter = "[姓名] In (" & Filter & ")"
    Else
        Tables("表A").Filter = "[姓名] = \'" & Filter & "\'"
    End If
End If



--  作者:狐狸爸爸
--  发布时间:2012/4/16 8:01:00
--  

用or连接起来。

 

条件1  or 条件2


--  作者:实话实说
--  发布时间:2012/4/16 10:52:00
--  

还不会


--  作者:don
--  发布时间:2012/4/16 12:02:00
--  
以下是引用实话实说在2012-4-16 10:52:00的发言:

还不会


不要養成依賴習慣,對自己沒好處.

Dim Filter As String = e.Form.Controls("姓名").Value

If Filter > "" Then

    If Filter.Contains(",") Then

        Filter =  "[姓名] In (\'" & Filter.Replace(",","\',\'") & "\')"

    Else

        Filter = "[姓名] like \'%" & Filter & "%\'"

    End If

    Tables("表A").Filter = Filter

End If


[此贴子已经被作者于2012-4-16 12:03:44编辑过]

--  作者:实话实说
--  发布时间:2012/4/16 16:44:00
--  
以下是引用don在2012-4-16 12:02:00的发言:

[此贴子已经被作者于2012-4-16 12:03:44编辑过]
不好意思,才看到,首先谢了.上面代码有一点不能满足,比如,我要同时筛选2个以上的姓就不行,这里面有包含,也有多值
--  作者:don
--  发布时间:2012/4/16 17:26:00
--  
Dim Filter As String
Filter = e.Form.Controls("姓名").Value
If Filter  > "" Then  
    Filter =" [姓名]  Like \'%" & Filter.Replace(",","%\'  Or  姓名 Like \'%") & "%\'"
    Tables("表A").Filter = Filter
End If
[此贴子已经被作者于2012-4-16 18:11:39编辑过]

--  作者:实话实说
--  发布时间:2012/4/16 18:19:00
--  

再次谢谢don