在日期范围内搜索Access Query时出现问题

问题描述 投票:0回答:1

我有一个查询,搜索已保存的记录,并根据记录创建报告。一些字段可以独立地或与保存的记录的其他部分相关联地搜索(例如,可以搜索ID,位置和/或警察是否被通知)。但是,按日期搜索时遇到问题。

我有字段供用户输入所需日期范围的开始日期和结束日期。当填写ONE或NEITHER字段时,搜索会在开始日期之后,结束日期之前或所有记录之后提取所有记录。当填充BOTH字段时,搜索会提取一条记录,其中所有字段都是空白的(表中不存在)。

每个可搜索字段在查询中使用相同的条件:

Like Nz([field that you're searching],"*")

但日期范围使用修改后的版本(对不起,如果它是超级笨重):

Like Nz(([Data_Input_Table].[Day_Current])>=[Forms]![Search_Form]![Start_Date_Lookup_text] And ([Data_Input_Table].[Day_Current])<=[Forms]![Search_Form]![End_Date_Lookup_text],"*")

理想情况下,我希望用户通过NEITHER,ONE或BOTH开始日期和结束日期进行搜索。

请帮忙!

access-vba criteria date-range ms-access-2016
1个回答
0
投票

你不能在日期上使用Like。试试这个:

[Data_Input_Table].[Day_Current] >= Nz([Forms]![Search_Form]![Start_Date_Lookup_text], [Data_Input_Table].[Day_Current]) And [Data_Input_Table].[Day_Current] <= Nz([Forms]![Search_Form]![End_Date_Lookup_text], [Data_Input_Table].[Day_Current])
© www.soinside.com 2019 - 2024. All rights reserved.