以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【求助】请帮我看看这段模糊筛选代码应该怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57736)

--  作者:heavenrr
--  发布时间:2014/9/30 11:21:00
--  【求助】请帮我看看这段模糊筛选代码应该怎么写
我想要做一个筛选窗口,筛选项目包括产品、客户、雇员和起止时间,按照教程里的代码编写完毕后运行没有问题,但是我现在需要做下修改,希望对雇员一项进行模糊检索,比如雇员的全名叫“EP04”,我希望只搜索“04”或“4”就可以完成整个筛选,但是这段代码我不会写了,还请各位前辈给看看,修改一下,谢谢!



Dim Filter As String
With e.Form.Controls("产品")
    If .Value IsNot Nothing Then
        Filter = "产品 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("客户")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "客户 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("雇员")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "雇员 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("日期起")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("日期止")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("订单").Filter = Filter
End If

--  作者:菲舍尔
--  发布时间:2014/9/30 11:22:00
--  

Filter = Filter & "雇员 = \'" & .Value & "\'"

改成

Filter = Filter & "雇员 like \'%" & .Value & "%\'"

或者

Filter = Filter & "雇员 like \'*" & .Value & "*\'"


--  作者:有点甜
--  发布时间:2014/9/30 11:23:00
--  

 原本的 Filter = Filter & "雇员 = \'" & .Value & "\'"

 

 改成 Filter = Filter & "雇员 like \'%" & .Value & "%\'"


--  作者:heavenrr
--  发布时间:2014/9/30 11:35:00
--  
非常感谢二位,已按照你们的方法解决问题,再次感谢!图片点击可在新窗口打开查看