計算時間 |
缺席
|
smallmi
一般會員 發表:18 回覆:18 積分:7 註冊:2012-09-02 發送簡訊給我 |
同一個PROCESS,EMP_ID,NUM_PS為一組...算(開始-暫停)及(開始-結束)
時間差...如圖中紅色框...最後再將同樣的PROCESS及NUM_PS所有的時間加總 請問各位大大..有什麼方式可以達到...想了好久...都沒有思路... 請大大指導...謝謝!!
附加檔案:52e4f7f3bc103_Q.jpg
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
先排序 order by proces, emp_id, num_ps, code_name
(加codename原因是我不知道開始與暫停是否有多組, 所以有多組的話, 你還必須想辦法分出每一組的開始與暫停) 最簡單的方式, 利用迴圈把排序好的記錄, 一筆筆取出加以判斷, 然後計算兩者之間的時間, 迴圈內要處理的事, 這些都不是撰寫的技巧, 而是基本功課 ===================引 用 smallmi 文 章=================== 同一個PROCESS,EMP_ID,NUM_PS為一組...算(開始-暫停)及(開始-結束) 時間差...如圖中紅色框...最後再將同樣的PROCESS及NUM_PS所有的時間加總 請問各位大大..有什麼方式可以達到...想了好久...都沒有思路... 請大大指導...謝謝!! |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
怪了 照您這樣說
那紅框應該是要圈前四筆資料吧? 怎麼會是前兩筆資料? 我覺得您給的資訊還不夠多... 而且以您的例子來看 假如只是要算時間差 跑個迴圈 if 應該就能夠解決 當然 資料要先做過排序再來做計算才會比較快~ 就像P.D.大說的那樣 ===================引 用 smallmi 文 章=================== 同一個PROCESS,EMP_ID,NUM_PS為一組...算(開始-暫停)及(開始-結束) 時間差...如圖中紅色框...最後再將同樣的PROCESS及NUM_PS所有的時間加總 請問各位大大..有什麼方式可以達到...想了好久...都沒有思路... 請大大指導...謝謝!! |
smallmi
一般會員 發表:18 回覆:18 積分:7 註冊:2012-09-02 發送簡訊給我 |
我目前把時間差算出來..
但是卡在不知該如何把一樣的NUM_PS及PROCESS時間加總起來... 請各位指導...謝謝!! [code delphi] while not Adoquery1.Eof do begin status:=adoquery1.fieldbyname('status').AsString; if (status='AA') then begin timeA:=adoquery1.fieldbyname('datetime').Asdatetime; chkA:=adoquery1.fieldbyname('chk').AsString; end; if ((status='BB') or (status='CC')) then begin timeBC:=adoquery1.fieldbyname('datetime').Asdatetime; chkB:=adoquery1.fieldbyname('chk').AsString; chkC:=adoquery1.fieldbyname('chk').AsString; end; if(((chkA=chkB)or(chkA=chkC))and((chkA<>'')and(chkB<>'')and(chkc<>'')))then begin time:=(MinutesBetween(timeA,timeBC)); chkA:=''; chkB:=''; chkC:=''; end; Adoquery1.Next; end; [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |