以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为何无法筛选时间范围?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76870)

--  作者:rophy0952
--  发布时间:2015/11/6 15:34:00
--  为何无法筛选时间范围?
如题,请问在筛选时间范围的时候,应该出现的筛选结果(紫色框内)未出现,是何原因?

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



--  作者:大红袍
--  发布时间:2015/11/6 15:40:00
--  

菜单那里筛选的,是当天的日期时间,是有点问题的。

 

你要自己写代码,如

 

Dim d1 As Date = "1900-01-01 " & "00:00"
Dim d2 As Date = "1900-01-01 " & "23:00"
Tables("表B").Filter = "第四列 >= #" & d1 & "# and 第四列 <= #" & d2 & "#"


--  作者:rophy0952
--  发布时间:2015/11/6 16:46:00
--  
谢谢大红袍的回复!如果说"1900-01-01 " & "00:00"这部分的值是引用两个控件的值,那么这样表达对吗?为什么会提示出错呢?
Dim d1 As Date = "\'" & forms("分切工票信息").controls("分切日期").value & "\'" & "\'" & forms("分切工票信息").controls("开始时间").value & "\'"
Dim d2 As Date = "\'" & forms("分切工票信息").controls("分切日期").value & "\'" & "\'" & forms("分切工票信息").controls("截止时间").value & "\'"
DataTables("分切工票信息").loadfilter = "分切时间 >= #" & d1 & "# and 分切时间 <= #" & d2 & "#"
DataTables("分切工票信息").load


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

[此贴子已经被作者于2015/11/6 16:57:24编辑过]

--  作者:大红袍
--  发布时间:2015/11/6 17:27:00
--  
Dim d1 As Date = forms("分切工票信息").controls("分切日期").value & " " & forms("分切工票信息").controls("开始时间").value
Dim d2 As Date = forms("分切工票信息").controls("分切日期").value & " " & forms("分切工票信息").controls("截止时间").value
DataTables("分切工票信息").loadfilter = "分切时间 >= #" & d1 & "# and 分切时间 <= #" & d2 & "#"
DataTables("分切工票信息").load

--  作者:rophy0952
--  发布时间:2015/11/6 17:32:00
--  
错误提示:

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


--  作者:大红袍
--  发布时间:2015/11/6 17:53:00
--  

msgbox看一下值

 

msgbox(forms("分切工票信息").controls("分切日期").value & " " & forms("分切工票信息").controls("开始时间").value)


--  作者:rophy0952
--  发布时间:2015/11/7 8:51:00
--  
早上好,大红袍!
昨天msgbox看过,结果是两个日期,后来我把时间那里format过再筛选还是不行。我就改变了一种方式,在表中增加了一列日期和时间,然后统一筛选。但是筛选后的结果是没有在日期范围内的记录也出来了。请问该如何处理呢?谢谢!
代码:

Dim Filter As String
With e.Form.Controls("开始时间")
    If .Value IsNot Nothing Then
        Filter = "分切日期时间 >= \'" & .value & "\'"
    End If
End With

With e.Form.Controls("截止时间")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = "分切日期时间 <= \'" & .value & "\'"
    End If
End With
If Filter > "" Then
    DataTables("分切工票信息").LoadFilter = filter
    DataTables("分切工票信息").Load
End If
Tables("分切工票信息_分切工票信息").sort = "分切日期时间"

--  作者:Hyphen
--  发布时间:2015/11/7 9:35:00
--  

再加上日期的筛选条件,类似

 

With e.Form.Controls("分切日期")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = "分切日期 = \'" & .value & "\'"
    End If
End With

--  作者:rophy0952
--  发布时间:2015/11/7 9:49:00
--  
是这样的,控件那里的分切日期我不想用了,就想通过开始时间和截止时间一起进行筛选,如图,结果不对。

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


--  作者:Hyphen
--  发布时间:2015/11/7 10:07:00
--  
没有看到有“分切日期时间”列,这列数据是怎么样的