In Access 95 v. 7 non riesco a trovare un formato corrispondente per
cui ottengo al meglio 1:30 oppure, applicando al campo del risultato
il formato data/ora generale, ottengo 31/12/1899 1:30:00.
Esiste una soluzione semplice che mi sfugge? Oppure è necessario
ricorrere ad una qualche funzione speciale, che comunque non ho
trovato e che non ho provato a scrivere?
Vi ringrazio
NO
> Oppure è necessario
>ricorrere ad una qualche funzione speciale, che comunque non ho
>trovato e che non ho provato a scrivere?
SI
>Vi ringrazio
Vedo che nessuno ti risponde: si vede che son tutti in ferie eh?
Allora di questo argomento se n'è gia parlato in questo NG.
Ti allego una risposta di qualche tempo fa, cui lbo aveva collaborato come
bravo traduttore (era il thread "working with time fields"):
l...@NOSPAM.iol.it ha scritto nel messaggio
<3455f15c...@news.iol.it>...
>il tipo è disperato perché lui ha bisogno di sommare ore per calcolare
>quante ore di lavoro uno totalizza. provando a sommare minuti oppure
>ore va tutto bene fino a che non si arriva a 24 ore, dopodiché il
>valore si resetta.
Sommando, ad esempio, 12:40 (ore:minuti) con 12:30 è normale ottenere 1:10
anziché 25:10, perché quest'ultima sarebbe una notazione non valida (se
visualizzassimo anche giorno-mese-anno ci accorgeremmo però che siamo
passati al giorno successivo). Fossimo in Excel suggerirei di mettere il
formato numerico [h]:mm, ma visto che in Access non c'è mi sono scritto la
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
Pertanto per visualizzare, ad esempio, in un controllo la somma dei
controlli ora1 e ora2 in formato "[h]:mm" (cioè come 25:10 di prima per
intenderci), basta mettere origine controllo
= CHm$ ( [ora1]+[ora2] )
--
Ciao
G.Paolo Bizzaro - g...@rsadvnet.NOSPAM.it
no, non esiste proprio, purtroppo i campi data/ora di access sono una
cosa e quelli di excel un'altra.
quelli di access servono solo a registrare punti su un asse temporale,
non anche segmenti come invece in excel.
della cosa si parla periodicamente. quello che i piu' fanno, quando
devono tener conto, ad esempio, della somma di periodi di lavoro cui
applicare una tariffa unitaria, e' scriversi delle funzioni di
conversione ad hoc e sommare le ore o i minuti o i secondi (dipende
che risoluzione ti serve) in normali variabili numeriche.
un'altra cosa che potresti fare e' usare la funzione datediff che ti
restituisce la quantita' di intervalli di tempo che passano da una
data ad un'altra (da un punto ad un altro), ma ti restituisce un
normale numerico, chesso', 1327 minuti, non un segmento di tempo.
come data inizio gli dai 01/01/100 che e' la prima data memorizzabile
da access e come data fine gli dai quella che risulta dalla somma
delle date.
======================================================
my opinions do not necessarily have to be true.
======================================================
per rispondermi rimuovere NOSPAM. dall'indirizzo email
to answer me remove NOSPAM. from email address
======================================================
>In Excel 95 v. 7 è possibile sommare due celle in formato data/ora
ecc.
scusate se mi cito, ma vedi anche il thread Operazioni di tempo, di
poco successivo a questo, in cui propongo una modesta soluzione
buttata la'.
Prova un po'... se hai problemi fammi/facci pur sapere!!
Ciao
Emanuele Cesena
d.a.m...@iol.it
ICQ n° #10570672
"Un generatore di numeri casuali non puo' essere scelto a caso", Knuth
Grazie a tutti e saluti