以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按照日期筛选的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20641)

--  作者:raystar27
--  发布时间:2012/6/14 15:56:00
--  按照日期筛选的问题
Dim Filter As String
With e.Form.Controls("Time")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "rq >= #" & .Value & "#"
    End If
End With

e.Form.Controls("Time")为DateTimePicker1控件
但是这个是按照年月日来进行筛选的,我希望只按照年月筛选的话,代码应该怎么写呢~~谢谢啦~~

--  作者:don
--  发布时间:2012/6/14 16:05:00
--  
Dim d1,d2,d3 As Date
Dim Filter As String

d1 = e.Form.Controls("Time").Value
If d1 IsNot Nothing Then
     d2 = New Date(d1.year,d1.month,1)
     d3 =d2.AddMonths(1)   
      Filter = Filter & "rq >= #"  & d2 & "# and rq < #" & d3
 End If


--  作者:狐狸爸爸
--  发布时间:2012/6/14 16:12:00
--  

取得这个月的第一天和最后一天,然后进行筛选:

 

Dim Filter As String
With e.Form.Controls("Time")
    If .Value IsNot Nothing Then
        Dim dt As Date = .value
        Dim dt1 As Date = new Date(dt.year,dt.month,1)
        Dim dt2 As Date = dt1.AddMonths(1).AddDays(-1)
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "rq >= #" & dt1 & "# And rq <= #" & dt2 & "#"
    End If
End With


--  作者:sloyy
--  发布时间:2012/6/14 16:16:00
--  

DateTimePicker1控件输入的是年月日 自然按照年月日筛选,你为啥不用textbox控件?,代码基本不用改,当然 如果你的RQ 是日期格式,改一下:

 Filter = Filter & "(rq).month >= " & .Value & ""


--  作者:raystar27
--  发布时间:2012/6/14 16:16:00
--  回复:(don)Dim d1,d2,d3 As DateDim Filter As Str...
谢谢~~这个可是帮我的大忙了!呵呵~~
--  作者:raystar27
--  发布时间:2012/6/14 16:20:00
--  回复:(狐狸爸爸)取得这个月的第一天和最后一天,然...
谢谢狐爸~~这个看起来清晰明了~受教了