以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]筛选树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125714)

--  作者:seal51
--  发布时间:2018/10/4 16:47:00
--  [求助]筛选树
筛选产品PD01在2012, 2013年每个月的数据
那么下面的代码如何更改

Dim Filter As String = ""
If e.node.Name <> "显示所有行" Then 
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim Product As String = e.Node.DataRow("产品")
    Select Case e.Node.Level
        Case 0
            d1 = New Date(Year,1,1) \'取得该年的第一天
            d2 = new Date(Year,12,31) \'取得该年的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 1
            d1 = New Date(Year, Month, 1) \'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, Month, 1) \'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = \'" & Product & "\'"
    End Select
End If
Tables("订单").Filter = Filter


--  作者:seal51
--  发布时间:2018/10/4 16:49:00
--  
窗口2
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5120181004.foxdb

[此贴子已经被作者于2018/10/4 16:52:29编辑过]

--  作者:有点甜
--  发布时间:2018/10/4 17:00:00
--  

Dim Filter As String = ""
If e.node.Name <> "显示所有行" Then
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim Product As String = e.Node.DataRow("产品")
    Select Case e.Node.Level
        Case 0
            filter = "产品 = \'" & Product & "\'"
        Case 1
            d1 = New Date(Year,1,1) \'取得该年的第一天
            d2 = new Date(Year,12,31) \'取得该年的最后一天
            Filter = "产品 = \'" & Product & "\' and 日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, Month, 1) \'取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
            Filter = "产品 = \'" & Product & "\' and 日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
    End Select
End If
Tables("订单").Filter = Filter