Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Conversione numero in formato ore

1,009 views
Skip to first unread message

Simona

unread,
Apr 19, 2004, 3:29:21 AM4/19/04
to
Salve A tutti!
Non so se la mia domanda è stata già posta, ma io non
l'ho trovata.
Devo risolvere un piccolo problema.
Esiste in Access una funzione o una formula per converire
un numero nel formato ore (in sessantesimi)? Faccio un
esempio. Ho creato un database dove tra l'altro bisogna
caricare delle ore la cui somma va moltiplicata per un
corrispettivo orario. Se io immetto 1,20 ore e poi 1,40,
mi viene restituito 2,60 mentre in realtà si tratta di 3
ore. Naturalmente anche la successiva moltiplicazione,
poniamo per ? 10,00, viene restituita in maniera errata.
Come bisogna fare?
Grazie anticipatamente a quanti mi aiuteranno.

giorgio rancati

unread,
Apr 19, 2004, 4:20:16 AM4/19/04
to

"Simona" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:0c9701c425e0$0824ada0$a401...@phx.gbl...

Ciao Simona,
non ho capito se il campo in cui memorizzi le ore è di tipo DataOra o di
tipo Numerico, (ma penso che sia numerico).
Se usavi un campo DataOra la questione era semplice, sommavi le ore, le
moltiplicavi * 24 e poi per l'importo orario. Con un campo numerico devi
convertire la parte sessantesimale in centesimale.

(1+(20/60))+(1+(40/60)) = 3 ore
(1+(45/60))+(1+(45/60))= 3,5 ore

quindi
-------------------
=Somma(Fix(TuoCampo)+(TuoCampo-Fix(TuoCampo))/60*100)
-------------------

Ciao Giorgio

anon...@discussions.microsoft.com

unread,
Apr 19, 2004, 3:31:56 PM4/19/04
to

>-----Messaggio originale---
>Intanto grazie per la risposta. Però mi sembra che
qualcosa non funzioni. Mi spiego.
Sommando due campi (numerici) che hanno entrambi 2,40
ore, la formula che gentilmente mi hai scritto,
restituisce la cifra di 5,33 ore mentre in realtà le ore
sono 5,20. Inoltre, per un solo campo contenente 2,40 ore
la stessa formula restituisce 2,67 ore che, se
moltiplicate, poniamo per 10 Euro, il totale è 26,7 Euro
anzichè 24.
>Forse sono io a sbagliare qualcosa?
Grazie di nuovo.
>

giorgio rancati

unread,
Apr 19, 2004, 7:51:43 PM4/19/04
to

<anon...@discussions.microsoft.com> ha scritto nel messaggio
news:119801c42644$fa0b9070$a601...@phx.gbl...

>-----Messaggio originale---
>
>"Simona" <anon...@discussions.microsoft.com> ha
scritto nel messaggio

>Intanto grazie per la risposta. Perň mi sembra che


>qualcosa non funzioni. Mi spiego.
>Sommando due campi (numerici) che hanno entrambi 2,40
>ore, la formula che gentilmente mi hai scritto,

>restituisce la cifra di 5,33 ore mentre in realtŕ le ore


>sono 5,20. Inoltre, per un solo campo contenente 2,40 ore
>la stessa formula restituisce 2,67 ore che, se

>moltiplicate, poniamo per 10 Euro, il totale č 26,7 Euro
>anzichč 24.


>Forse sono io a sbagliare qualcosa?
>Grazie di nuovo.

Forse non ho capito io,
se le ore sono 2,30 e le moltiplichi per 10 euro secondo te č giusto 23 euro
o 25 euro (pari a 2 ore e mezza) ???
se il risultato che vuoi č 23 euro lascia tutto cosě ,non mettere nessuna
formula..

Ciao Giorgio

anon...@discussions.microsoft.com

unread,
Apr 20, 2004, 4:21:41 AM4/20/04
to

>-----Messaggio originale---

>
><anon...@discussions.microsoft.com> ha scritto nel
messaggio
>news:119801c42644$fa0b9070$a601...@phx.gbl...
>
>>-----Messaggio originale---
>>
>>"Simona" <anon...@discussions.microsoft.com> ha
>scritto nel messaggio
>>Intanto grazie per la risposta. Però mi sembra che

>>qualcosa non funzioni. Mi spiego.
>>Sommando due campi (numerici) che hanno entrambi 2,40
>>ore, la formula che gentilmente mi hai scritto,
>>restituisce la cifra di 5,33 ore mentre in realtà le ore

>>sono 5,20. Inoltre, per un solo campo contenente 2,40 ore
>>la stessa formula restituisce 2,67 ore che, se
>>moltiplicate, poniamo per 10 Euro, il totale è 26,7 Euro
>>anzichè 24.

>>Forse sono io a sbagliare qualcosa?
>>Grazie di nuovo.
>
>Forse non ho capito io,
>se le ore sono 2,30 e le moltiplichi per 10 euro secondo
te è giusto 23 euro

>o 25 euro (pari a 2 ore e mezza) ???
>se il risultato che vuoi è 23 euro lascia tutto così ,non
mettere nessuna
>formula..
>
>Ciao Giorgio
>
>Scusami! E' tutto giusto... grazie, funziona!
>
>.
>

giorgio rancati

unread,
Apr 20, 2004, 5:01:19 AM4/20/04
to

<anon...@discussions.microsoft.com> ha scritto nel messaggio
news:16b901c426b0$826938d0$a401...@phx.gbl...

Ciao,
forse il tuo dubbio nasce dal fatto che non vedi il totale delle ore
rappresentato in sessantesimi.
Una volta ottenuta la somma delle ore (in decimale) e moltiplicata per
l'importo, puoi usare una formula inversa per visualizzare il totale delle
ore in formato sessantesimale.

Come abbiamo detto 2 ore 40 minuti corrisponde a 2 ore 2/3 di ora
(2,6666666) per riconvertirla basta applicare la formula inversa
=Fix(TotOre)+(TotOre-Fix(TotOre))/100*60

TotOre è il totale delle ore in centesimale che hai ricavato dalla prima
formula.

In pratica basta applicare la formula per il cambio di base
Numero/VecchiaBase*NuovaBase

Ciao Giorgio


Elisa Ciancaleoni

unread,
Feb 20, 2021, 12:08:06 PM2/20/21
to

Scusate l'intromissione in questa conversazione di non so quanto tempo fa.
io avrei bisogno di convertire un campo access ora ##:## in modo che mi dia il quantitativo centesimale di ore
vi spiego meglio, l'utente dovrà digitare Orario ingresso e orario uscita nel formato ##:## ed io dovrò calcolare il centesimale orario uscita - orario ingresso per avere il totale delle ore di attività.
è possibile farlo direttamente sul campo orario ingresso in formato data ora di access o devo dividere ore e minuti e far effettuare i dovuti calcoli?

Bruno Campanini

unread,
Feb 21, 2021, 7:33:50 AM2/21/21
to
Elisa Ciancaleoni has brought this to us :
Per centesimale intendi che 08:35 --> 8 + 35/60 = 8.583?

Se così è, mi pare che la rappresentazione non sia fra quelle standard
di Access.
Però in un in AfterUpdate di un TextBox puoi inserire:
[Text2] = Left([Text2], 2) + Mid([Text2], 4) / 60, limitando
eventualmente il numero di decimali.

Bruno

Bruno Campanini

unread,
Feb 21, 2021, 10:12:38 AM2/21/21
to
> Per centesimale intendi che 08:35 --> 8 + 35/60 = 8.583?
>
> Se così è, mi pare che la rappresentazione non sia fra quelle standard
> di Access.
> Però in un in AfterUpdate di un TextBox puoi inserire:
> [Text2] = Left([Text2], 2) + Mid([Text2], 4) / 60, limitando
> eventualmente il numero di decimali.

Se poi fosse omesso lo zero avanti l'ora in singola cifra:

If InStr(1, [Text2], ":") = 2 Then
[Text2] = "0" & [Text2]
End If
[Text2] = Format(Left([Text2], 2) + Mid([Text2], 4) / 60, "0#.##")

Bruno
0 new messages