【发布时间】:2017-11-14 14:35:33
【问题描述】:
我正在创建一个简单的数据库来跟踪工作时间。这个想法是:
- 每天您只需输入员工没有工作的天数(startDate、endDate、absentType),
- 然后计算整个月或选定期间的工作日。
工作日的计算应考虑到Holiday表中的周末(周六、周日)和节假日。
我从 MSDN (Counting the Number of Working Days in Access 2007) 获取了一个函数示例,并将其放入我的 MS Access 2010 db 中的一个模块中,但每次运行查询时都会出现此错误。
尝试从某个地方在另一个示例数据库中运行查询通常会出现相同的错误。
问题出在 strWhere 子句中:
strWhere = "[Holiday] >=#" & startDate & "# AND [Holiday] <=#" & endDate & "#"
' Count the number of holidays.
nHolidays = DCount(Expr:="[Holiday]", Domain:=strHolidays, Criteria:=strWhere)
Workdays = nWeekdays - nHolidays
两个数据库的错误信息都可以在下面的链接中找到
查询表达式中日期的运行时错误 3075 语法错误
感谢任何帮助。
【问题讨论】:
-
你在哪里?如果您不与美国共享日期格式,那么这很可能是问题的原因
-
请显示startDate和endDate的值和类型。
-
欧盟/克罗地亚。我的本地日期格式是 dd.mm.yyyy,它适用于我以前的所有 Access 数据库。在这一个中,我使用了提到的代码,但其中没有指定其他格式。表格中的所有输入都是本地格式。
-
MS Access 与所有其他 Office 应用程序一样,与您的本地 CPU 区域语言设置保持一致,其中包括货币、日期/时间格式和其他项目。第一天不需要重新格式化。