marsem ha scritto:
Salve a tutti...
Problema: Non so scrivere questo codice… J
Grazie
Scusa se ho tagliato praticamente tutto quotando. Alcuni spunti di riflessione ed approfondimento: usa DateAdd anche per sommare ed ottenere l'ora di uscita autorizzata.
DateAdd("h", OraE, Ora6)
Stessa cosa, con DateDiff, per calcolare il Tot_Ore_Giornata.
DateDiff dà anche risultati negativi quindi deve funzionare. La cosa un po' strana, probabilmente dovuta al fatto che usi le operazioni aritmetiche classiche (+ e -) anziché le funzioni specifiche per le date, è il risultato "con i rotti", cioè il fatto che DateDiff("h", data1, data2) restituisca "1:30" quando in realtà dovrebba dare solo ore intere. O forse "1:30" deriva proprio da un'operazione aritmetica con le ore, probabilemente non ho capito.
In ogni caso, per calcolare la differenza usa sempre DateDiff, ragionando in minuti e poi eventualmente "convertirlo" in ore:minuti.
Per quest'ultima operazione qui dovresti trovare un buono spunto:
Morale del post (imparata a mia volta a forza di rimproveri virtuali ricevuti): con date/ore usa DateAdd e DateDiff ed adatta la visualizzazione del risultato, se del caso. Evita le operazioni aritmetiche di somma e/o differenza.
Rifatto tutto come Access comanda, facci sapere se ci sono ancora problemi.