我在Access 2013中创建了一个查询,它使用两个表(tblHoliday和tblTimeTable),以检查注册的时间是否在假期中。如果是,那么注册的小时数应乘以2。我正在使用以下Query命令:
TestHoliday: IIf(DCount("*";"tblHoliday";"[HolidayDate] between #" & (Format([StartDate];"yyyy/mm/dd")) & "# And #" & (Format([EndDate];"yyyy/mm/dd")) & "# ")>0;[InHours]*2;0)
在sql中,它看起来像这样:
SELECT tblTimeTable.TimeID, tblTimeTable.EmpID, tblTimeTable.StartDate, tblTimeTable.EndDate, DateDiff("n",[StartDate],[EndDate])/60 AS InHours, IIf(DCount("*","tblHoliday","[HolidayDate] between #" & (Format([StartDate],"yyyy\/mm\/dd")) & "# And #" & (Format([EndDate],"yyyy\/mm\/dd")) & "# ")>0,[InHours]*2,0) AS TestHoliday
FROM tblTimeTable;
当我选择Run时!查询,一切正常,但当我选择对表进行排序(即从最新到最旧),或根据此查询进行另一个查询时,我收到以下错误消息:
查询表达式中的日期语法错误'[HolidayDate] =#' 。
你有什么建议吗?