这种功能没有意义的,系统菜单提供的日期筛选,比这个强大得多没,而且通用。
如果一定要自己做,可以改为下面的代码,不过必须先选择日期列,才能正常筛选:
DIM
SD
AS
DATE
DIM
ED
AS
DATE
Dim ColName As string = CurrentTable.Cols(CurrentTable.Colsel).Name
If CurrentTable.Cols(ColName).IsDate = False Then
Messagebox.show("请选择日期列")
End
If
With RibbonTabs("【定位筛选】")("定位筛选")
If
Date.TryParse(.Items("SD").Text,SD) Then
'如果输入了有效的起始日期
If
Date.TryParse(.Items("ED").Text,ED) Then
'而且输入了有效的结束日期
'那么筛选两个日期之间的数据
CurrentTable.Filter = ColName & " >= #" & SD & "# And " & ColName & "<= #" & ED & "#"
Else
'否则筛选大于起始日期的数据
CurrentTable.Filter = ColName & " >= #" & SD & "#"
End If
ElseIf
Date.TryParse(.Items("ED").Text, ED) Then
'如果输入了有效的结束日期
CurrentTable.Filter = ColName
&
" <= #"
&
ED
&
"#"
End If
END WITH