以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有个比较复杂的筛选请大师指点  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49165)

--  作者:tesia255
--  发布时间:2014/4/13 12:25:00
--  有个比较复杂的筛选请大师指点
我想通过窗体上的时间控件筛选表A的数据如下:

想通过日期框筛选出以下三种A公司的订单(之间关系是或的关系,就是三种情况的订单都筛选出来):
 
第一:3月份正常收货的订单(即付款时间=3月份 且 订单状态=已收货,);
第二:3月份收货其他月退货的订单(即订单状态=已退货 且 付款时间=3月 且 退货时间<>3月);
第三:3月份退货,其他月收货的订单(即订单状态=已退货 且 付款时间<>3月 且 退款时间=3月)

详情请见示例
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip

[此贴子已经被作者于2014-4-13 12:25:23编辑过]

--  作者:y2287958
--  发布时间:2014/4/13 13:41:00
--  
Dim cp As WinForm.ComboBox = e.Form.Controls("product")
Dim sd As WinForm.DateTimePicker = e.Form.Controls("startDate")
Dim ed As WinForm.DateTimePicker = e.Form.Controls("EndDate")
Dim s1,s2,s3 As String
s1 = "付款时间>=#" & sd.Value & "# And 付款时间<=#" & ed.Value & "# And 订单状态=\'已收货\' And 产品名称=\'" & cp.Value & "\'"
s2 = "付款时间>=#" & sd.Value & "# And 付款时间<=#" & ed.Value & "# And 订单状态=\'已退货\' And 退款时间<#" & sd.Value & "# or 退款时间>#" & ed.Value & "# And 产品名称=\'" & cp.Value & "\'" 
s3 = "退款时间>=#" & sd.Value & "# And 退款时间<=#" & ed.Value & "# And 订单状态=\'已退货\' And 付款时间<#" & sd.Value & "# or 付款时间>#" & ed.Value & "# And 产品名称=\'" & cp.Value & "\'"
Tables("表A").Filter = s1 & " Or " & s2 & " Or " & s3

--  作者:tesia255
--  发布时间:2014/4/13 17:11:00
--  
十分感谢!!