Sql 调试来自DCount的意外结果
我有一个Access数据库,其中有两个表: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 >=
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] & "))"