Condividi tramite

Problemi con la somma degli orari oltre le 24 ore con Access

Anonimo
2023-05-02T16:15:26+00:00

Buongiorno.

Ho un problema con le somme degli orari oltre le 24 ore su Access.

Ho trovato in rete la seguente funzione ma non riesco ad aggiungere la riga per i secondi.

La funzione è perfetta ma restituisce ora e minuti.

Qualcuno mi può aiutare per i secondi?

Grazie in anticipo

Private Sub Comando0_Click()

Dim Timein As Date

Dim TimeEnd As Date

Dim TimeT

Timein = "23:10:50"

TimeEnd = "10:50:11"

TimeT = CHm$([Timein] + [TimeEnd])

MsgBox (TimeT)

End Sub

Public Function CHm$(dataora)

CHm$ = ""

Dim minuti&

Dim ore&

Dim Sec&

On Error Resume Next

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

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2023-05-02T17:29:28+00:00

    Nel caso di orari che possono interessare giorni successivi a quello di inizio devi inserire anche la data relativa a l'orario.

    Per il calcolo si usa la funzione DateDiff, richiedendo il risultato in minuti, poi da questo si calcolano le ore e i minuti e si mostrano come stringa, nel formato classico, concatenandoli.

    La risposta è stata utile?

    0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2023-05-02T19:39:14+00:00

    Grazie mille, funziona alla grande.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-05-02T17:08:49+00:00

    Ciao

    Sono Abdal e sarei felice di aiutarti con la tua domanda.

    Per aggiungere secondi alla funzione, è sufficiente calcolare i secondi separatamente e aggiungerli al risultato. Ecco una versione aggiornata della funzione:

    Funzione pubblica CHm$(datetime) CHm$ = "" Dim minuti& Ore di dim & Dim secondi&

    In caso di errore Riprendi il prossimo

    minuti& = data/ora * 24 * 60 secondi& = data/ora * 24 * 60 * 60

    ore& = minuti& \ 60: minuti& = minuti& - ore& * 60 CHm$ = CStr(ore&) & ":" & IIf(minuti& < 10, "0", "") & CStr(minutes&) & ":" & IIf(seconds& Mod 60 < 10, "0", "") & CStr(seconds& Mod 60)

    On Error GoTo 0

    End Function

    This should return the hours, minutes, and seconds as a formatted string. I hope this helps!

    I hope this information helps.

    Regards,

    Abdal

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento