Ovo poslednje sto je Branimir naveo nije obavezno ali je lakse posebno racunanje.
U MS Access postoje f-je koje rade oduzimanje datuma i vracaju razliku u odgovarajucem formatu e.g. sec. min. i sl.
Videti DateDiff() f-ju.
Na primer,
- Napraviti prvo kolekciju (ili niz) svih zaposlenih,
- Potom za svakog zaposlenog u kolekciji dodelite njegove ulaze i izlaze tj. access log i sortirati ih od A-Z ili Z-A;
- Potom krenuti sa usaglasavanjem obracuna gde se kreiraju parnjaci tj. za svaki ulaz se vezuje izlaz (A-Z) ili obratno za svaki izlaz se vezuje ulaz (Z-A) - znaci kolekcija kolkecija od 2 clana;
- Kada se srede parnjaci onda se posle vrsi klasicno oduzimanje vremena i vrsi totalni obracun po zaposlenom za svaki parnjak u listi;
Pridodato:
Brzinski sam pogledao poslednju mdb bazu u prilogu.
dodatne stvari oko acc_monitor_log
- dodati uslov card_no > 0
- dodati uslov event_point > 0
Primer sortiranog loga gde ulaze sve zapisi u logu koji zadovoljavaju uslov da je card_no > 0 i event_point > 0 i pritom se vrsi sortiranje po card_no i time polju;
Code:
SELECT acc_monitor_log.card_no, acc_monitor_log.event_point_id, acc_monitor_log.Time
FROM acc_monitor_log
WHERE (((acc_monitor_log.card_no)>"0") AND ((acc_monitor_log.event_point_id)>0))
ORDER BY acc_monitor_log.card_no, acc_monitor_log.Time;
Na osnovu ovog upita se sada moze krenuti u formiranje parnjaka i izrade obracuna kao i jedinstvene liste radnika u logu za koji se vrsi predmetni obracun.
[Ovu poruku je menjao bokinet dana 03.05.2020. u 16:05 GMT+1]