Newsgroup: it.comp.appl.access
Titolo: Sommare ore, minuti e secondi.

Help !!!!
In una tabella ho inserito i dati delle ore giornaliere, effettuate in un
mese di lavoro, nel formato ora estesa. Dovrei fare la somma di questi dati
e stampare il totale ma la somma non viene corretta. Infatti quando arriva a
ore 24.00.00, anziché continuare (25.01.00, 28.16.53, ecc.), riparte da
0.00.00. es. in una somma che dovrebbe risultare 130.15.56, viene stampato
10.22.35. Ho provato diverse soluzioni ma non sono venuto a capo di niente.
Spero di essere stato sufficientemente chiaro. Se qualche buon'anima può
aiutarmi, magari con qualche esempio, le sarei veramente grato.
Salutoni
Dante.



devi gestire la somma via codice con la conversione in campi
personalizzati, purtroppo non siamo su excel che si occupa di tutto
ciò
Saluti.
Emanuele.

 >aiutarmi, magari con qualche esempio, le sarei veramente grato.
questo è il modulo che ho fatto io per il mio "cartellino elettronico"..
sarà sufficiente inviare il totale dei secondi alla funzione... e lui ti
restituisce il numero di ore formattate.
Public Function calcolaore(totsecondi, totoracalcolate)
Dim k, ks, km, kh
For k = 1 To totsecondi
       ks = ks + 1
    If ks = 60 Then
        km = km + 1
        ks = 0
            If km = 60 Then
                kh = kh + 1
                km = 0
            End If
    End If
Next k
totoracalcolate = kh & "." & km & "." & ks
End Function

Chiedo scusa se non ho ancora ringraziato chi mi ha risposto ma, per motivi
di lavoro, sono stato assente e solo ora ho aperto il newgroup. Vorrei solo
chiedere a ### CH v 2000 ###, essendo io un novellino, dove devo agganciare
la Public Function ... Mi spiego; il report, alla fine,
in -OrigineControllo- ha "=somma(nz([TempoImpegato])) ...
Di nuovo grazie e... abbiate pazienza.
Saluti
Dante

 ha scritto nel messaggio
news:okHX8.61518$Jj7.1...@news1.tin.it...

invece di impostare - OrigineControllo -    dalla maschera delle
proprietą... fallo da Visual
cioč su evento formattazione ci metti...
il nome del controllo ha cui hai associato precedentemente
=somma(nz([TempoImpegato]))... magari l'hai chiamato "totaleore".....
-------------------
Esempio...(i nomi delle function e del campo sono inventati...dopo gli
adatti tu)
Private Sub PičDiPaginaGruppo1_Format(Cancel As Integer, FormatCount As
Integer)
dim totoracalcolate
call calcolaore(totsecondi, totoracalcolate)
totaleore=totoracalcolate
end sub
----------------------


Ti ringrazio dei dettagli ma non sono riuscito a farlo funzionare. Ho invece
adottato questo sistema e funziona:
=(Somma(Hour([TempEff]))+(Somma(Minute([TempEff]))+(Somma(Second([TempEff]))
)\60)\60) & "." & (Somma(Minute([TempEff]))+(Somma(Second([TempEff])))\60)
Mod 60 & "." & (Somma(Second([TempEff]))) Mod 60
se hai qualche altro suggerimento è ben gradito.
Saluti
Dante


scusa ma il mio modulo in VBA chiamato calcolaore c'è l'hai?
adesso appena ho 30 Microsecondi ti invio il dettaglio...ok?

 Mod 60 & "." & (Somma(Second([TempEff]))) Mod 60
Il mio report ha un codice cosě...
Private Sub PičDiPaginaGruppo1_Format(Cancel As Integer, FormatCount As
Integer)
Dim kexore, kmenore, orefin, of1, of2
kexore = Second(Me.totextmens) + (Minute(Me.totextmens) * 60) +
(Hour(Me.totextmens) * 3600)
         ' calcola il totale dei secondi del campo sul report totextmens
kmenore = Second(Me.totmenmens) + (Minute(Me.totmenmens) * 60) +
(Hour(Me.totmenmens) * 3600)
         ' calcola il totale dei secondi del campo sul report totmenmens
If kexore > kmenore Then            ' caso che kexore sia maggiore di
kmenore
    orefin = kexore - kmenore
    Call calcolaore(orefin, of1)
    orefinali2.Visible = False
    orefinali1.Visible = True
    norecupero.Visible = True
    noesubero.Visible = False
ElseIf kexore < kmenore Then        ' caso che kexore sia maggiore di
kmenore
    orefin = kmenore - kexore
    Call calcolaore(orefin, of2)
    orefinali2.Visible = True
    orefinali1.Visible = False
    norecupero.Visible = False
    noesubero.Visible = True
End If
Me.orefinali1 = Format$(of1, "hh.mm.ss")            'esubero ore
Me.orefinali2 = Format$(of2, "hh.mm.ss")            'mancanza ore
End Sub
ricordati che per il mio codice di calcolo ore devi creare un modulo nel
database
ciao