General

6.156 Calcolare una data/ora finali partendo da una data/ora iniziali e basandosi su una durata in minuti
  Sandro Peruz
Il demo allegato a questa FAQ consente di calcolare la data/ora finale partendo da una data/ora iniziale sommando dei minuti, tipico di quando si deve calcolare la data/ora di fine lavorazione sapendo la data/ora di inizio.
Il demo si apre con la maschera Maschera1 dove si deve inserire l’ora in cui si inizia a lavorare e l’ora in cui si finisce di lavorare (l’orario lavorativo della giornata : un classico potrebbe essere 08.00.00-12.00 13.30-17.30 e una pausa dalle ore 09.45.00 alle 10.00.00 e dalle 12.00.00 alle ore 13.30.00, (pausa pranzo) e dalle ore 15.45.00 alle 16.00.00)
Si può scegliere, cliccando sul command button “gestisci pausa”, se gestire o meno le pause di lavoro nel corso della giornata (nel caso non si effettuino pause nel corso della giornata lavorativa è possibile non indicare gli orari).
Se si sceglie la non gestione della pausa i controlli verranno evidenziati in rosso non appena si clicca su verifica. Non è un errore, ma semplicemente un avvertimento per l’utente per non aver compilato i campi.
Se l’utente inserisce l’ora in cui effettuare la pausa, deve inserire anche l’ora in cui riprende il lavoro, altrimenti un controllo blocca il proseguimento dell’applicativo.
(Es. inserire solamente ora pausa mattina 09.45.00 e non compilare il controllo ora della ripresa dopo la pausa della mattina non è consentito).

Quando tutto è ok si passa alla Maschera4 dove si può procedere con il calcolo dell’ora finale.

Ovviamente si tiene conto nel calcolo, delle giornate festive (sabato e domenica vengono “saltate” nel calcolo) e degli altri giorni festivi: per far questo si utilizzano funzioni già pubblicate su altre FAQ del Sito Comune.
Orari di lavoro “particolari” ad es. inizio lavoro alle 08.00.00 fine alle ore 12.00.00 (part time)
oppure anche 18.00.00 –24.00.00 e altri ancora possono essere tranquillamente gestiti.

Gli orari devono essere inseriti nel seguente modo : HH:MM:SS, altrimenti un controllo provvede a avvertire l’utente di errato inserimento.

Nel demo è possibile lanciare una query (query8) che accoda nella tabella prova1 i dati relativi ai calcoli effettuati dalla funzione datafineprod2 (che calcola la data/ora di fine lavoro)
Nella tabella è poi possibile modificare il valore del campo tempo per calcolare e accodare la data/ora finale nella tabella stessa una volta rilanciata la query.

Il file Giorni lavorativi.zip allegato a questa FAQ contiene il demo di cui sopra sia la versione Access 2000 (originale di Sandro Peruz) che la versione Access 97 ottenuta per conversione da Alessandro Baraldi, della qual cosa lo ringraziamo.

Download:
 
  Giorni lavorativi.zip (113Kb) MSAccess97/2000 database


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.