以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模糊查找  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171156)

--  作者:ycs5801
--  发布时间:2021/8/20 0:12:00
--  模糊查找
With e.Form.Controls("TextBox2")
    If .Value IsNot Nothing Then
        DataTables("主表").LoadFilter = "[事项名称] like \'*" & .text & "*\'"
        DataTables("主表").Load
        
    End If
End With

窗口中做了一个文本框,然后用按钮加载文本框中模糊查找对应的行,帮忙改下,哪里有问题?

--  作者:有点蓝
--  发布时间:2021/8/20 8:29:00
--  
DataTables("主表").LoadFilter = "[事项名称] like \'%" & .text & "%\'"
--  作者:ycs5801
--  发布时间:2021/8/20 9:43:00
--  
老师,为什么用%而不用*,%不是代表单个字符吗?*是代表多字符啊
--  作者:有点蓝
--  发布时间:2021/8/20 9:50:00
--  
那是您自己这样以为而已,看帮助说明:http://www.foxtable.com/webhelp/topics/0688.htm
--  作者:at999at
--  发布时间:2021/8/23 16:47:00
--  
赠你一个关于模糊搜索的内部函数,不适用于副本表,副本表自行修改代码。
If Args(0).KeyCode = Keys.Enter Then
    Dim a As String = Args(0).Form.Controls(Args(1)).Text
    Dim t As Table = Tables(Args(0).Form.TableName)
    Dim f As String = "1=2"
    For Each c As Col In t.Cols
        f & = " or convert(" & c.Name & ",\'System.String\') like \'%" & a & "%\'"
    Next
    t.Filter = f
End If