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]),它应该可以工作。