Sql 调试来自DCount的意外结果

Sql 调试来自DCount的意外结果,sql,ms-access-2010,ms-access-2013,Sql,Ms Access 2010,Ms Access 2013,我有一个Access数据库,其中有两个表: DaystoCount |ID|Day |Day | |1 |28-Feb-14|07-Mar-14| |2 |01-May-14|02-May-14| 及 我还有以下查询,这意味着查找并计算“DaystoCount”中的任何“DaystoExclude”: SELECT Nz([End],[Start]) AS NEndDate, DCount("Day","DaystoExclude","Day >=

我有一个Access数据库,其中有两个表:

DaystoCount
|ID|Day      |Day      |
|1 |28-Feb-14|07-Mar-14|
|2 |01-May-14|02-May-14|

我还有以下查询,这意味着查找并计算“DaystoCount”中的任何“DaystoExclude”:

SELECT  Nz([End],[Start]) AS NEndDate, 
        DCount("Day","DaystoExclude","Day >= #" & [Start] & "# and Day <= #" & [NEndDate] & "#") AS ExcludedCount
FROM DaystoCount;
由于这两个日期范围均不包括2014年1月27日,我预计会有以下结果:

|NEndDate |ExcludedCount|
|7/03/2014|0            |
|2/05/2014|0            |

有人能告诉我这个代码哪里出了问题吗?或者关于如何调试的建议?

尝试将您的
Dcount
条件更改为:

"[Day] >= DateSerial(year(" & [start] & "), month(" & [start] & "), day(" & [start] & ")) or [Day] <= DateSerial(year(" & [nEndDate] & "), month(" & [nEndDate] & "), day(" & [nEndDate] & "))"

“[Day]>=DateSerial(年(&[start]&”)、月(&[start]&”)、日(&[start]&”))或[Day]您是否尝试将数据计数条件中的[start]和[End]转换为mm/dd/yyyy格式(您可以使用格式功能)?有时Access在不使用此格式时会表现得很滑稽。谢谢,但不幸的是,这没有帮助。如果我将排除日期改为2014年5月2日,我将收到0天的排除日期。@Hammer,我已更改了答案。阅读时更加注意,问题似乎是和的状况。您需要OR。无论如何,我建议您也使用DateSerial。
|NEndDate |ExcludedCount|
|7/03/2014|0            |
|2/05/2014|0            |
"[Day] >= DateSerial(year(" & [start] & "), month(" & [start] & "), day(" & [start] & ")) or [Day] <= DateSerial(year(" & [nEndDate] & "), month(" & [nEndDate] & "), day(" & [nEndDate] & "))"