2011-02-14 39 views
2

我需要執行時間表計算員工將衝入和衝出。我將這些記錄存儲在一張表中。那張桌子有時間和場地可以用來打卡或打卡。員工可以出去吃午飯或者其他的理由,並且出去打工。我需要扣除那些時間並且得到工作時間。我的表看起來象下面這樣:MS-總訪問查詢總時間和時間扣除

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,所以我需要扣除的午飯時間,並獲得總小時。如何在查詢中做到這一點

回答

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中打開但檢查語法)

+0

嗨Cyber​​kiwi,感謝您的解決方案。它非常完美...! – dps123 2011-02-14 21:23:37