Foxtable(狐表)用户栏目专家坐堂 → 日期交叉筛选编码


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

主题:日期交叉筛选编码

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


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
日期交叉筛选编码  发帖心情 Post By:2013/7/17 19:58:00 [只看该作者]


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

 

 

ComboBxo3下拉内容为:签订日期范围之内、签订日期范围之外、签订日期为空

ComboBxo4下拉内容为:送货日期范围之内、送货日期范围之外、送货日期为空

ComboBxo6下拉内容为:收款日期范围之内、收款日期范围之外、收款日期为空
如何实现当选择相应的下来内容,选择一个时间段来交叉筛选符合条件的数据。表名为:收款明细;包含:签订日期、送货日期、收款日期、编号字段。

举例如:ComboBxo3下拉内容为:签订日期范围之内 ;            DateTimePicker1  <签订日期<DateTimePicker2

           ComboBxo4下拉内容为:送货日期范围之外;              送货日期>DateTimePicker3 OR 签订日期<DateTimePicker4

           ComboBxo6下拉内容为:收款日期为空;                  收款日期为空 

           如何写筛选按钮事件,筛选出表“收款明细”里的数据同时满足以上三个条件


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/17 20:13:00 [只看该作者]

你发了图,写了那么多的文字来描述,还不如发个实例。

能尽快获得帮助。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/18 8:53:00 [只看该作者]

最好做个简单例子发上来,并设计好这个窗口,将能做的做好,方便别人帮你。

 


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


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2013/7/18 10:30:00 [只看该作者]

Dim s As String = e.Form.Controls("ComboBox3").value
Select Case s
    Case "签订日期范围之内"
     If  e.Form.Controls("DateTimePicker1").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker2").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "#" & e.Form.Controls("DateTimePicker1").Value & "# <= 签订日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# "
     End If
     Case "签订日期范围之外"
      If  e.Form.Controls("DateTimePicker1").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker2").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "签订日期 < #" & e.Form.Controls("DateTimePicker1").Value & "# Or 签订日期 > #" & e.Form.Controls("DateTimePicker2").Value & "#"
     End If
     Case "签订日期为空"
        If Filter >"" Then
            Filter = Filter & " And "
        End If
       Filter = Filter & "签订日期 Is NULL"
End Select
Dim t As String = e.Form.Controls("ComboBox4").value
Select Case t
    Case "出货日期范围之内"
      If  e.Form.Controls("DateTimePicker3").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker4").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "#" & e.Form.Controls("DateTimePicker3").Value & "# <= 出货日期 <= #" & e.Form.Controls("DateTimePicker4").Value & "# "
     End If
    Case "出货日期范围之外"
     If  e.Form.Controls("DateTimePicker3").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker4").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " and "
        End If
        Filter = Filter & "出货日期 < #" & e.Form.Controls("DateTimePicker3").Value & "# Or 出货日期 > #" & e.Form.Controls("DateTimePicker4").Value & "#"
     End If
    Case "出货日期为空"
        If Filter >"" Then
            Filter = Filter & " And "
        End If
       Filter = Filter & "出货日期 Is NULL"
End Select
Dim r As String = e.Form.Controls("ComboBox6").value
Select Case r
    Case "收款日期范围之内"
      If  e.Form.Controls("DateTimePicker5").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker6").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "#" & e.Form.Controls("DateTimePicker5").Value & "# <= 收款日期 <= #" & e.Form.Controls("DateTimePicker6").Value & "# "
     End If
Case "收款日期范围之外"
  If  e.Form.Controls("DateTimePicker5").Value IsNot Nothing AndAlso e.Form.Controls("DateTimePicker6").Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "收款日期 < #" & e.Form.Controls("DateTimePicker5").Value & "# Or 收款日期 > #" & e.Form.Controls("DateTimePicker6").Value & "#"
     End If
Case "收款日期为空"
        If Filter >"" Then
            Filter = Filter & " And "
        End If
       Filter = Filter & "收款日期 Is NULL"
End Select
If Filter > "" Then
    Tables("收款明细").Filter = Filter
End If
Tables("收款明细").Sort = "合同店铺,合同系列,合同编号 DESC"

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


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2013/7/18 10:36:00 [只看该作者]

这个代码有没有问题啊


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


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2013/7/18 10:57:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期交叉筛选.rar

这个是例子,

麻烦写下筛选的代码,以上我写的代码筛选效果是有问题的,有时候交叉筛选不起作用


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/18 11:21:00 [只看该作者]

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/18 11:31:00 [只看该作者]

你前面的三个组合框,既然已经设置了条件,后面的日期框就要能够从收款明细中自动获取相应的日期值,而不是手工录入。

或者,更干脆点,日期框都多余,直接按组合框里面的条件筛选了。


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


加好友 发短信
等级:童狐 帖子:219 积分:1890 威望:0 精华:0 注册:2011/6/10 9:12:00
  发帖心情 Post By:2013/7/18 12:17:00 [只看该作者]

BIN  写的筛选代码不对啊

麻烦您帮忙检查下。筛选时间之外不对。我把and修改为or还是不对的,没有交叉筛选的作用。请试下


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/18 12:27:00 [只看该作者]

刚才少了个括号.晕死

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


[此贴子已经被作者于2013-7-18 12:38:04编辑过]

 回到顶部