访问:用户输入年份查询该会计年度的日期

Access: User inputs years to query dates in that fiscal year

我想输入会计年度 (18/19),并且只查询 select 该范围内的日期。这一年是 3 月 1 日至 2 月 28/29 日。有没有办法输入字符串“18/19”或“21/22”并将这些日期分开并变成 parameter/criteria?我不精通SQL,但大概是这样想的

WHERE ([Combined All].Date_Read)>= #3/1/Left([Water Year:],2)# 
  And ([Combined All].Date_Read)<=#2/1/Right([Water Year:],2)#;

或者,我想创建一个包含日期的字符串并将其输入 WHERE,但我不知道该怎么做

strYearOne = "03/01/" & left([Water Year:],2)
strYearTwo = "03/01/" & right([Water Year:],2)

我对 SWL/Access 语法不是很熟悉,我确信我把所有东西都搞混了。 TIA

考虑 DateSerial 以年、月、日部分构建日期:

WHERE ([Combined All].Date_Read) >= DateSerial([StartYear], 3, 1)
  AND ([Combined All].Date_Read) <  DateSerial([EndYear], 3, 1);

当上面是MS Access(即.exe应用程序)中的运行时,将提示用户输入这两个参数。但是,如果 运行ning MS Access 作为后端(即 ODBC 连接),查询将失败,您需要提供这些参数,例如绑定到 Python ODBC 中使用的 qmark 占位符,PHP ODBC 和 VBA ADO:

WHERE ([Combined All].Date_Read) >= DateSerial(?, 3, 1)
  AND ([Combined All].Date_Read) <  DateSerial(?, 3, 1);