以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  LoadFilter查询  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184989)

--  作者:nuoyan89
--  发布时间:2023/1/29 14:15:00
--  LoadFilter查询
老师,红色部分是我写的条件,但是加班申请还是会查询出来,如图

If Filter >"" Then
    e.Form.controls("操作工工时").Table.DataTable.LoadPage = 0
    e.Form.controls("操作工工时").Table.DataTable.LoadFilter = "([杂工种类] <> \'加班申请\' or [杂工种类] <> \'调休申请\'or [杂工种类] <> \'事假申请\')  And " & IIf(filter > "", filter, "1=1")
    e.Form.controls("操作工工时").Table.DataTable.Load
End If
整个代码:
Dim Filter As String
With e.Form.Controls("线别1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "线别 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("加工工序1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "加工工序 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("成品描述1")
    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("工作内容1")
    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("成品编码1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "成品编码 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("审核人员1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "线长审核 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("姓名1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "姓名 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("生产批次1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "生产批次 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("计算标准1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "计算标准 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("使用设备1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "使用设备 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("工作日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "工作日期 >= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("工作日期2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "工作日期  <= \'" & .Value & "\'"
    End If
End With
If Filter >"" Then
    e.Form.controls("操作工工时").Table.DataTable.LoadPage = 0
    e.Form.controls("操作工工时").Table.DataTable.LoadFilter = "([杂工种类] <> \'加班申请\' or [杂工种类] <> \'调休申请\'or [杂工种类] <> \'事假申请\')  And " & IIf(filter > "", filter, "1=1")
    e.Form.controls("操作工工时").Table.DataTable.Load
End If
Tables("操作工工时明细_操作工工时").Sort = "工作日期 DESC"
DataTables("操作工工时明细_操作工工时").DataCols("计算标准").RaiseDataColChanged()

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2023/1/29 14:25:00
--  
不等于的判断一般要使用and
e.Form.controls("操作工工时").Table.DataTable.LoadFilter = "([杂工种类] <> \'加班申请\' and [杂工种类] <> \'调休申请\' and  [杂工种类] <> \'事假申请\')  And " & IIf(filter > "", filter, "1=1")

或者

e.Form.controls("操作工工时").Table.DataTable.LoadFilter = "[杂工种类] not in (\'加班申请\',\'调休申请\', \'事假申请\')  And " & IIf(filter > "", filter, "1=1")