以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113691)

--  作者:aza520
--  发布时间:2018/1/21 10:02:00
--  筛选问题

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


在开始筛选按钮设如下代码,我想实现基于当前加载树加载后的数据进行筛选,但下列代码筛选时会把所有的后台数据筛选出来。请老师指导

Dim Filter As String
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
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "支付日期 <= \'" & .Value & "\'"
    End If
End With

If e.Form.Controls("RadioButton5").Checked = True \' 如果付款状态选择了"已付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "乡镇审核 = 1"
End If
If e.Form.Controls("RadioButton6").Checked = True \' 如果付款状态选择了"未付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "乡镇审核 = 0 Or 乡镇审核 Is Null"
End If

If e.Form.Controls("RadioButton2").Checked = True \' 如果付款状态选择了"已付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "是否结算 = 1"
End If
If e.Form.Controls("RadioButton3").Checked = True \' 如果付款状态选择了"未付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "是否结算 = 0 Or 是否结算 Is Null"
End If

If Filter > "" Then
    Tables("S征地记录").DataTable.LoadFilter = Filter
    Tables("S征地记录").DataTable.Load


--  作者:aza520
--  发布时间:2018/1/21 20:17:00
--  
有老师帮解答吗
--  作者:有点甜
--  发布时间:2018/1/21 20:48:00
--  
    Tables("S征地记录").DataTable.LoadFilter = Filter
    Tables("S征地记录").DataTable.Load

 

改成

 

    Tables("S征地记录").Filter = Filter
 

--  作者:aza520
--  发布时间:2018/1/21 21:00:00
--  
解决了,多谢老师


--  作者:aza520
--  发布时间:2018/1/21 23:16:00
--  
老师,现在又有一个问题,我筛选完以后,点击加载树下的翻页,又刷新加载回所有的数据,也就相当于撤消筛选。如何能让筛选出的数据象用加载树选择的数据一样,在翻页时,也只显示筛选后的数据?
--  作者:有点甜
--  发布时间:2018/1/21 23:29:00
--  
以下是引用aza520在2018/1/21 23:16:00的发言:
老师,现在又有一个问题,我筛选完以后,点击加载树下的翻页,又刷新加载回所有的数据,也就相当于撤消筛选。如何能让筛选出的数据象用加载树选择的数据一样,在翻页时,也只显示筛选后的数据?

 

Tables("S征地记录").DataTable.LoadFilter = Filter
Tables("S征地记录").DataTable.Load

 

改成

 

Dim f As String = Tables("S征地记录").DataTable.LoadFilter
f = iif(f > "", f & " and " & filter, filter)
Tables("S征地记录").DataTable.LoadFilter = f
Tables("S征地记录").DataTable.Load

[此贴子已经被作者于2018/1/22 9:07:43编辑过]

--  作者:aza520
--  发布时间:2018/1/21 23:43:00
--  
按老师的代码修改后解决了5楼的问题,但又出现了1楼的问题,就是会把其它用户的数据筛选出来.
--  作者:有点甜
--  发布时间:2018/1/22
--  
以下是引用aza520在2018/1/21 23:43:00的发言:
按老师的代码修改后解决了5楼的问题,但又出现了1楼的问题,就是会把其它用户的数据筛选出来.

 

不可能,做个例子测试。


--  作者:aza520
--  发布时间:2018/1/22 8:58:00
--  
上传了附件,请老师指导。一是征地记录窗口的筛选问题,当对“未公示”或“未结算”筛选的时候,会把其它用户的数据加载进来(老师可用用户名为“白云乡”或“良口乡”测试,开发者和管理者密码不变,其它用户口密码都是8888)。第二个问题是在导出“征地记录表“出错,想实现导出用加载树选择和筛选后当前所有页的数据。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:公路征拆管理系统_201801220849.zip


--  作者:aza520
--  发布时间:2018/1/22 8:59:00
--  
还有以上筛选代码,撤消筛选按钮不起作用。