Newsgroup: it.comp.appl.access
Titolo: funzione per orario progressivo

il problema č questo:
devo fare un progressivo su delle ore in una maschera.
  durataminuti       tempo progressivo
     124                 2.07.33
      45                 2.53.50
     126                 5.03.26
      45                 5.49.43
ho risolto cosě:
sitocomune   modulo
Function CreaTotProgr(KeyName As String, KeyValue, NomeCampo As String) As
Long
Dim RS As DAO.Recordset
Dim Totale As Long
Totale = 0
On Error GoTo Err_CreaTotProgr
Set RS = CodeContextObject.RecordsetClone
' Cerca il record corrente.
Select Case RS.Fields(KeyName).Type
' Il tipo dati della chiave č Numerica?
    Case DB_INTEGER, DB_LONG, DB_CURRENCY, DB_SINGLE, _
    DB_DOUBLE, DB_BYTE
        RS.FindFirst "[" & KeyName & "] = " & KeyValue
' Il tipo dati della chiave č Data/ora?
    Case DB_DATE
        RS.FindFirst "[" & KeyName & "] = #" & KeyValue & "#"
' Il tipo dati della chiave č Testo?
    Case DB_TEXT
        RS.FindFirst "[" & KeyName & "] = '" & KeyValue & "'"
    Case Else
        MsgBox "ERRORE: Tipo dati della chiave non valido!"
        Exit Function
End Select
Do Until RS.BOF
Totale = Totale + RS(NomeCampo)
RS.MovePrevious
Loop
Bye_CreaTotProgr:
         ' Restituisci il risultato.
         CreaTotProgr = Totale
         Exit Function
Err_CreaTotProgr:
         Totale = 0
         Resume Bye_CreaTotProgr
End Function
e nell'origine controllo (tempo progressivo)
=CreaTotProgr("IDCICLO";[IDCICLO];"durataminuti")/1400
ora nasce un secondo problema:
                durataminuti       tempo progressivo
     124                 2.07.33
      45                 2.53.50
     126                 5.03.26
      45                 5.49.43
..................................
     110                 18.04.07
     210                 21.40.07
     360                  3.50.24
passa al giorno successivo io vorrei
                         24.90.31
ho trovato nel sitocomune questa funzione ma non so come usarla
mi aiutate?
Public Function SommaOrari(Orario1, Orario2) As String
   ' Orario1 e Orario2 possono essere in formato testo
   ' restituisce una stringa con la somma superando le 24 ore
   Dim ora1 As String, ora2 As String, min1 As String, min2 As String,
s_min, sec1 As String, sec2 As String, s_sec
   Dim o, m, s
   ora1 = Mid(Orario1, 1, 2): ora2 = Mid(Orario2, 1, 2) ' Separo ore
   min1 = Mid(Orario1, 4, 2): min2 = Mid(Orario2, 4, 2) ' minuti
   sec1 = Mid(Orario1, 7, 2): sec2 = Mid(Orario2, 7, 2) ' secondi
   ' Calcolo il riporto per i secondi e per i minuti
   s_sec = (Val(sec1) + Val(sec2)) \ 60 ' =1 se sec1 + sec2 > 59 altrimenti
=0
   s_min = (Val(min1) + Val(min2) + s_sec) \ 60 ' =1 se min1 + min2 > 59
altrimenti =0
   o = Val(ora1) + Val(ora2) + s_min: If o < 10 Then o = "0" & o
   m = (Val(min1) + Val(min2) + s_sec) Mod 60: If m < 10 Then m = "0" & m
   s = (Val(sec1) + Val(sec2)) Mod 60: If s < 10 Then s = "0" & s
   SommaOrari = o & ":" & m & ":" & s
End Function
                   grazie mille
ciao

 ciao
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 DCICLO";[IDCICLO];"durataminuti")/60)*60);"00")
perfetto
grazie su di te ci si può sempre contare !!!!!!

 grazie su di te ci si puň sempre contare !!!!!!
Beh, tra omonimi bisogna pur darsi una mano. ;-)


Beh, tra omonimi bisogna pur darsi una mano. ;-)
Li' per li' avevo letto tra ominidi....:))
Saluti.
Luciano