我想在访问中使用计算字段,但是,对我来说棘手的部分是我必须在日期中运行它。我有一个数据库,当天有多个寄存器,但日期不同。我们以此为例:
Date | Report | Onblock Time
-----|--------|-------------
27/5 | 5:45 | 8:52
-----|--------|-------------
27/5 | 9:35 | 10:57
-----|--------|-------------
27/5 | 11:52 | 12:59
所以,我想要做的是在第一次显示时增加45分钟(在这种情况下为5:45),并在最后一次增加30分钟(在这种情况下为12:59)。一旦完成这两件事,我想计算它们之间的差异。
我在表达式生成器中尝试了[(Onblock Time + 0:30) - (Report - 0:45)]
,它似乎有效。我遇到的问题是当我必须为具有1000个寄存器的表创建它时,每天4-6个。是否有任何类型的自动循环,如for each
之类的东西?
提前致谢,
乔纳森
答案 0 :(得分:1)
如果我理解正确,您需要一个查询,该查询返回每天最小ReportTime
+ 0:45和最大OnblockTime
+ 0:30之间的分钟数。如果是这样,查询的SQL应该是这样的:
SELECT ReportDate
,DateDiff("n", DateAdd("n", 45, Min([ReportTime])), DateAdd("n", 30, Max([OnblockTime]))) AS Diff
FROM TimeTable
GROUP BY ReportDate;