以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]从后台筛选并加载数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127090)

--  作者:工匠
--  发布时间:2018/11/5 12:28:00
--  [求助]从后台筛选并加载数据
老师好:
现在随着数据量增多,一些明细不需要加载出来,但是后续报表又需要某些时段的记录,请帮这个窗口代码筛选查询的,帮改为打开项目没有加载数据,而查询筛选能按条件加载出来,万分感谢!
谢谢!
Dim Filter As String

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("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "开始时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "开始时间 <= #" & .Value & "#"
    End If
End With
If e.Form.Controls("已完成").Checked = True \' 如果付款状态选择了"已付"
          If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "是否完成 = True"
End If
If e.Form.Controls("未完成").Checked = True \' 如果付款状态选择了"未付"
          If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "是否完成 = False Or 是否完成 Is Null"
End If
If Filter > "" Then
    Tables("项目明细").Filter = Filter


End If

--  作者:有点甜
--  发布时间:2018/11/5 12:34:00
--  

改成

 

If Filter > "" Then
    dataTables("项目明细").loadFilter = Filter
    dataTables("项目明细").load
End If

--  作者:工匠
--  发布时间:2018/11/5 12:40:00
--  
谢谢老师,我按这样改了后,选择日期查询,报错,不知道怎么回事

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


--  作者:有点甜
--  发布时间:2018/11/5 12:41:00
--  
如果是sqlserver数据库,#改成\',true/false改成1/0
--  作者:工匠
--  发布时间:2018/11/6 10:08:00
--  
谢谢老师,可以实现后台筛选和加载了。但是如果选择的是全部,确没法把已完成和未完成的都加载带出来,请再帮看看,要怎样实现选择全部,把所有的都已完成和未完成的都带出来,谢谢。
--  作者:有点甜
--  发布时间:2018/11/6 10:13:00
--  

改成,比如

 

If Filter > "" Then
    dataTables("项目明细").loadFilter = Filter
    dataTables("项目明细").load
Else
    dataTables("项目明细").loadFilter = ""
    dataTables("项目明细").load
End If

--  作者:工匠
--  发布时间:2018/11/6 10:26:00
--  
谢谢老师,可以了,万分感谢!