MS Access 中的可选查询参数
Optional Query Parameters in MS Access
请帮助我确定以下问题的解决方案。
我想从参数中获取“年”结果,否则如果参数为空则所有结果。
我在 Project_Start_Date 字段中有日期格式 (MMMM - YYYY) 数据。附上图片供您参考。
目前,如果参数为空并且输入的参数带有日期,我将得到结果,它不起作用(不给出任何结果)
我尝试了标准 - Like IIf(IsNull([Date of the Year]),"*",Year([Date of the Year]))
这在这里有效:
PARAMETERS
[Date of Year] DateTime;
SELECT ...
FROM ...
WHERE
[Date of Year] Is Null Or
[Project_Start_Date] Between
DateSerial(Year(Nz([Date of Year],Date())),1,1) And
DateSerial(Year(Nz([Date of Year],Date())),12,31);
这将使用 [Project_Start_Date]
上的索引(如果存在)。
用您的 WHERE 语句字段创建一个表达式 Project_Start_date_Yr: Year([Project_Start_date])
,它应该可以工作。
请帮助我确定以下问题的解决方案。
我想从参数中获取“年”结果,否则如果参数为空则所有结果。
我在 Project_Start_Date 字段中有日期格式 (MMMM - YYYY) 数据。附上图片供您参考。
目前,如果参数为空并且输入的参数带有日期,我将得到结果,它不起作用(不给出任何结果)
我尝试了标准 - Like IIf(IsNull([Date of the Year]),"*",Year([Date of the Year]))
这在这里有效:
PARAMETERS
[Date of Year] DateTime;
SELECT ...
FROM ...
WHERE
[Date of Year] Is Null Or
[Project_Start_Date] Between
DateSerial(Year(Nz([Date of Year],Date())),1,1) And
DateSerial(Year(Nz([Date of Year],Date())),12,31);
这将使用 [Project_Start_Date]
上的索引(如果存在)。
用您的 WHERE 语句字段创建一个表达式 Project_Start_date_Yr: Year([Project_Start_date])
,它应该可以工作。