Foxtable(狐表)用户栏目专家坐堂 → [求助]关于分页加载后筛选的问题


  共有1781人关注过本帖树形打印复制链接

主题:[求助]关于分页加载后筛选的问题

帅哥哟,离线,有人找我吗?
洮沙
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:779 积分:6631 威望:0 精华:0 注册:2017/8/31 12:07:00
[求助]关于分页加载后筛选的问题  发帖心情 Post By:2017/9/26 15:48:00 [只看该作者]

分页加载后自制的筛选窗口:

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

代码如下:

Dim tbl As Table = Tables("主合同")
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 & "'"
        tbl.DataTable.loadFilter = Filter
        tbl.DataTable.loadPage = 0
        tbl.DataTable.load
    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 & "'"
        tbl.DataTable.loadFilter = Filter
        tbl.DataTable.loadPage = 0
        tbl.DataTable.load
    End If
End With
With e.Form.Controls("DateTimePicker3")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "合同结束日期 >= '" & .Value & "'"
        tbl.DataTable.loadFilter = Filter
        tbl.DataTable.loadPage = 0
        tbl.DataTable.load
    End If
End With
With e.Form.Controls("DateTimePicker4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "合同结束日期 <= '" & .Value & "'"
        tbl.DataTable.loadFilter = Filter
        tbl.DataTable.loadPage = 0
        tbl.DataTable.load
    End If
End With
If e.Form.Controls("CheckBox1").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "代账服务 =  True"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("CheckBox2").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "代税服务_国税申报 = True "
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("CheckBox3").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & ("工商代理_年报公示 = True or (工商代理_注册登记 = True) Or (工商代理_变更登记 =True) Or (工商代理_注销登记 =True)")
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("CheckBox4").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "下欠服务费 > 0"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If

If e.Form.Controls("RadioButton2").Checked = True ' 如果已审核状态选择了"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已审核 = True"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("RadioButton3").Checked = True ' 如果已审核状态未选择"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已审核 = False Or 已审核 Is Null"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("RadioButton6").Checked = True ' 如果客户状态选择了"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已终止 = True"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If e.Form.Controls("RadioButton5").Checked = True ' 如果客户状态未选择"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已终止 = False Or 已终止 Is Null"
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If
If Filter > "" Then
    tbl.DataTable.loadFilter = Filter
End If

“签订日期”和“结束日期”都能够正常筛选查询(可以实现全部数据的查询),但是如果选择了“逻辑型”的选项,出现如下错误,望版主看一下,哪里出错了,自己折腾了一下午!

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

[此贴子已经被作者于2017/9/27 9:01:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/26 16:03:00 [只看该作者]

Dim tbl As Table = Tables("主合同")
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
With e.Form.Controls("DateTimePicker3")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "合同结束日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("DateTimePicker4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "合同结束日期 <= '" & .Value & "'"
    End If
End With
If e.Form.Controls("CheckBox1").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "代账服务 =  1"
End If
If e.Form.Controls("CheckBox2").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "代税服务_国税申报 = 1 "
End If
If e.Form.Controls("CheckBox3").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & ("工商代理_年报公示 = 1 or (工商代理_注册登记 = 1) Or (工商代理_变更登记 =1) Or (工商代理_注销登记 =)")
   
End If
If e.Form.Controls("CheckBox4").Checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "下欠服务费 > 0"
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 e.Form.Controls("RadioButton6").Checked = True ' 如果客户状态选择了"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已终止 = 1"
End If
If e.Form.Controls("RadioButton5").Checked = True ' 如果客户状态未选择"对号"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "已终止 = 0 Or 已终止 Is Null"
   
End If
If Filter > "" Then
    tbl.DataTable.loadFilter = Filter
    tbl.DataTable.loadPage = 0
    tbl.DataTable.LoadTop = "100 percent"
    tbl.DataTable.load
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:779 积分:6631 威望:0 精华:0 注册:2017/8/31 12:07:00
还有一点问题,  发帖心情 Post By:2017/9/26 16:22:00 [只看该作者]

  Filter = Filter & "下欠服务费 > 0"
这一句,哪里有不对了?

 


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

 

另外,麻烦将导航栏的问题一并帮帮忙!谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/26 18:08:00 [只看该作者]

 回复3楼,你的列【下次服务费】是不是表达式列?表达式列不能作为加载条件的。

 

 你的表达式怎么写的?


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:779 积分:6631 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜) 回复3楼,你的列【下次服务费】...  发帖心情 Post By:2017/9/26 19:14:00 [只看该作者]

是表达式列,IsNull([总费用],0)-IsNull([实收费],0)

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/9/26 20:51:00 [只看该作者]

Filter = Filter & " and (总费用- 实收费) > 0"

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:779 积分:6631 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点蓝)Filter = Filter & " and (总费用...  发帖心情 Post By:2017/9/26 23:10:00 [只看该作者]

知道了,还是自己没有变通的想法,惭愧!另外,晚上,也没有休息,帮助我,十分感动!再次感谢!


 回到顶部