以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  模糊搜索加筛选后台数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143508)

--  作者:swagger
--  发布时间:2019/11/27 12:07:00
--  模糊搜索加筛选后台数据
模糊搜索后台数据,再加上特定字段,该怎么写?

Dim Filter As String
Dim tbl As Table = Tables("订单_table1")
With e.Form.Controls("textbox1")
    If .Value IsNot Nothing Then
        Filter =  "客户名称 like \'%" & .Value & "%\' Or 公司名称 like \'%" & .Value & "%\' “    
End If 
End With

With e.Form.Controls("textbox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
 Filter = Filter &  "产品名称 like \'%" & .Value & "%\'”         
    End If
End With

With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= \'" & .Value & "\'" 
    End If
End With

If Filter > "" Then
tbl.DataTable.loadFilter = Filter         
tbl.DataTable.loadPage = 0
tbl.DataTable.load
End If


在上述搜索加上筛选条件: 类别 = 优秀
If Filter > "" Then
tbl.DataTable.loadFilter = Filter  & "类别=\'优秀\'" 
tbl.DataTable.loadPage = 0
tbl.DataTable.load
End If

出现错误:“\'类别\' 附近有语法错误。”

--  作者:有点蓝
--  发布时间:2019/11/27 13:34:00
--  
tbl.DataTable.loadFilter = Filter  & " and 类别=\'优秀\'" 
--  作者:swagger
--  发布时间:2019/11/29 13:35:00
--  
如果是加多个条件 譬如“良好”,用or的话,会把所有时间段的都显示出来。譬如筛选2019年10月的,如果加了or就显示所有时间段的数据出来。这个该怎么写呢?

If Filter > "" Then
tbl.DataTable.loadFilter = Filter  & " and 类别=\'优秀\' or 类别=\'良好\'"
tbl.DataTable.loadPage = 0
tbl.DataTable.load
End If




--  作者:有点蓝
--  发布时间:2019/11/29 14:04:00
--  
tbl.DataTable.loadFilter = Filter  & " and (类别=\'优秀\' or 类别=\'良好\')"