以文本方式查看主题

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

--  作者:lgj716330
--  发布时间:2021/7/22 14:34:00
--  [求助]时间筛选

此主题相关图片如下:qq图片20210722141057.png
按此在新窗口浏览图片
我的时间跨度如2019.3--2021.7,下面这样写对吗

With e.Form.Controls("NF") \'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " And "

        End If

        Filter = Filter & "年份 = \'" & .value & "\'"

    End If

End With

With e.Form.Controls("YF1"\'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " And "

        End If

        Filter = Filter & "月份 >= \'" & .value & "\' and 月份 <= 12"

    End If

End With


With e.Form.Controls("NF1"\'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " or "

        End If

        Filter = Filter & "年份 = \'" & .value & "\'"

    End If

End With

With e.Form.Controls("YF1"\'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " And "

        End If

        Filter = Filter & "月份 <= \'" & .value & "\'"

    End If

End With


With e.Form.Controls("NF"\'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " or "

        End If

        Filter = Filter & "年份 > \'" & .value & "\'"

    End If

End With

With e.Form.Controls("NF1"\'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " and "

        End If

        Filter = Filter & "年份 < \'" & .value & "\'"

    End If

End With


--  作者:有点蓝
--  发布时间:2021/7/22 14:42:00
--  
4个输入框是不是必须都填写?
--  作者:lgj716330
--  发布时间:2021/7/22 15:55:00
--  
都必须要填写
--  作者:有点蓝
--  发布时间:2021/7/22 16:03:00
--  
增加一个日期列,分开的年月无法进行范围比较

try
    Dim d1 As Date = new Date(cint(e.Form.Controls("NF").value),cint(e.Form.Controls("YF1").value),1)
    Dim d2 As Date = new Date(cint(e.Form.Controls("NF1").value),cint(e.Form.Controls("YF2").value),1)
    d2 = d2.addmonths(1)
    If Filter > "" Then
        Filter = Filter & " and "
    End If
    Filter = Filter & "日期 >= \'" & d1 & "\' and 日期 < \'" & d2 & "\'"
catch ex As exception
    msgbox("年月数据填写出错")
End try