--
Automatic posted from mail.dex-net.com [194.184.44.19]
via Mailgate Server - http://www.mailgate.org
Se si tratta di campi di tipo data/ora, allora è sufficente sommarli.
Ricorda che un campo di tipo data/ora è formato da numero la cui parte
intera rappresenta il n. di giorni a partire dalla data di riferimento
e la cui parte decimale esprime l'orario come frazione di giorno. Per
maggiori dettagli, ricerca il mio precedente messaggio "Calcoli con le
ore (Messaggio Lungo)".
Quando hai una data/ora che è un intervallo di tempo (per es. la somma
di diversi orari), puoi da essa ricavare tutte le informazioni che
vuoi con i seguenti semplici calcoli:
OreTotali = Int(CSng(intervallo * 24))
MinutiTotali = Int(CSng(intervallo * 1440))
SecondiTotali = Int(CSng(interval * 86400))
Giorni = Int(CSng(intervallo))
Ore = OreTotali Mod 24
Minuti = MinutiTotali Mod 60
Secondi = SecondiTotali Mod 60
Oppure:
Ore = DateDiff("h",0,Intervallo)
Minuti = Minute(Intervallo)
Secondi = Second(Intervallo)
Se hai bisogno di chiarimenti, fammi sapere.
Salutissimi
--
________
\ /\ /
\/ \/ T R X
/\ /\ -------- (c)
/ \/ \
^^^^^^^^
temp1 = ore1 * 60 + minuti1
temp2 = ore2 * 60 + minuti2
temp1 = temp1 + temp2
ore = int(temp1/60)
minuti = temp1 - ore
ore e minuti li metti in una var di tipo data/ora e la funzione ti
restituisce questo valore.
--
Emanuele Cesena
d.a.m...@iol.it
ICQ n° #10570672
Puoi sommare i valori dei tuoi records come fossero numeri normali, ma
visualizzare il risultato elaborato dalla seguente funzione:
Public Function CHm$(dataora)
CHm$ = ""
On Error Resume Next ' per prevenire dataora null
minuti& = dataora * 24 * 60
ore& = minuti& \ 60: minuti& = minuti& - ore& * 60
CHm$ = CStr(ore&) & ":" & IIf(minuti& < 10, "0", "") & CStr(minuti&)
On Error GoTo 0
End Function
Alla funzione dovrai passare come parametro la somma, ed avrai come output
il formato hh:mm, con hh anche superiore alle 24 ore, ad esempio:
MsgBox(CHm(CVDate("23:30")+CVDate("10:00"))) ti visualizzerà 33:30
Ciao
G.Paolo Bizzaro - g...@rsadvnet.NOSPAM.it