以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  日期交叉筛选编码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38023)

--  作者:youyuweinihao
--  发布时间:2013/7/17 19:58:00
--  日期交叉筛选编码


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

 

 

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

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

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

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

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

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

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


--  作者:lsy
--  发布时间:2013/7/17 20:13:00
--  

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

能尽快获得帮助。


--  作者:狐狸爸爸
--  发布时间:2013/7/18 8:53:00
--  

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

 


--  作者:youyuweinihao
--  发布时间: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
--  发布时间:2013/7/18 10:36:00
--  

这个代码有没有问题啊


--  作者:youyuweinihao
--  发布时间:2013/7/18 10:57:00
--  

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

这个是例子,

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


--  作者:Bin
--  发布时间:2013/7/18 11:21:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:lsy
--  发布时间:2013/7/18 11:31:00
--  

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

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


--  作者:youyuweinihao
--  发布时间:2013/7/18 12:17:00
--  

BIN  写的筛选代码不对啊

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


--  作者:Bin
--  发布时间:2013/7/18 12:27:00
--  
刚才少了个括号.晕死

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


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