我需要执行时间表计算员工会打卡并打卡。我将这些记录存储在一个表中。那张桌子有时间和一个冲头或冲头的场地。员工可能会出去吃午饭或其他原因并出去打工。我需要扣除这些时间并获得工作时间。我的表格如下所示:
PunchTime EmpCode IsInpunch
10:01 AM (A) T
12:03 PM (A) F (this isoutpunch)
01:05 PM (A) T
07:14 PM (A) F
10:32 AM (B) T
对于(A)的时间7.14 - 10.01是总小时数,但他在12.03到01.05之间不在那里,所以我需要扣除午餐时间并获得总小时数。如何在查询
中执行此操作答案 0 :(得分:4)
这非常简单。假设您的T和F IsInPunch是平衡的,也就是说任何一天,你将有T-F或T-F-T-F等(总是配对),只需总计F并减去T的总和。
select empcode, DateValue(PunchTime),
sum(IIF(IsInPunch='F',PunchTime,0)) -
sum(IIF(IsInPunch='T',PunchTime,0))
from TimeSheet
group by empcode, DateValue(PunchTime)
(尚未打开Access但请检查语法)