Somma tempi lunghi

di il
21 risposte

Somma tempi lunghi

Buonasera,
ho dei problemi con questa query:
SELECT Macchina, Stato, Format(Sum(tempi.tempi),'hh\:mm\:ss') AS Durata
FROM Tempi
WHERE macchina=[Macchina:] and Tempi.data>=[Dal:] and tempi.data<=[Al:]
GROUP BY macchina, stato
ORDER BY macchina, stato;
Se il periodo è lungo, la somma dei tempi non è corretta, credo per via del fatto che le ore, arrivate a 24, si resettano.
Come posso formattare correttamente il campo somma tempi? Potrei aggiungere il giorno? oppure continuare a incrementare le ore (24:45:23 ….)?
Grazie

21 Risposte

  • Re: Somma tempi lunghi

    Probabilmente hai 2 campi separati che indicano Data e Ora. Unificali con un campo Time di tipo Data/Ora e formato completo.
  • Re: Somma tempi lunghi

    Se il campo è di tipo DATA, ovviamente sommando le ore... superato le 23.59.59 scatta il giorno...
    Quindi se il tuo intento è di sapere in senso assoluto le ore... devi usare unWorkAround...
    http://www.donkarl.com/it?FAQ2.1
  • Re: Somma tempi lunghi

    OsvaldoLaviosa ha scritto:


    Probabilmente hai 2 campi separati che indicano Data e Ora. Unificali con un campo Time di tipo Data/Ora e formato completo.
    Mah... prova a sommare il valroe DateTime 23:00:00 con il valore DateTime 2:00:00 e dicci cosa succede...
  • Re: Somma tempi lunghi

    @Alex ha scritto:


    Mah... prova a sommare il valroe DateTime 23:00:00 con il valore DateTime 2:00:00 e dicci cosa succede...
    Ho detto che occorre la Data APPICCICATA a Ora.
  • Re: Somma tempi lunghi

    OsvaldoLaviosa ha scritto:


    Probabilmente hai 2 campi separati che indicano Data e Ora. Unificali con un campo Time di tipo Data/Ora e formato completo.
    Ho fatto come suggerito ma senza alcun beneficio… quando sommo su 3 giorni vedo risultati non congruenti.
    Secondo me devo formattare il campo calcolato somma tipo XXX:mm:ss
    oppure aggiungere il giorno: dd hh.mm.ss ma non so come si faccia.
    Grazie
  • Re: Somma tempi lunghi

    DavidE ha scritto:


    aggiungere il giorno: dd hh.mm.ss ma non so come si faccia.
    Esatto. Leggi qui
    https://support.office.com/it-it/article/formattare-un-campo-di-data-e-ora-47fbbdc1-52fa-416a-b8d5-ba24d881b698
    se non ti funziona con d o dd, prova con g o gg...magari usa sempre un carattere separatore che non sia lo spazio.
  • Re: Somma tempi lunghi

    OsvaldoLaviosa ha scritto:


    DavidE ha scritto:


    aggiungere il giorno: dd hh.mm.ss ma non so come si faccia.
    Esatto. Leggi qui
    https://support.office.com/it-it/article/formattare-un-campo-di-data-e-ora-47fbbdc1-52fa-416a-b8d5-ba24d881b698
    se non ti funziona con d o dd, prova con g o gg...magari usa sempre un carattere separatore che non sia lo spazio.
    Le ho provate tutte ma senza successo. PEr qualche motivo se uso d o dd mi appaiono 30, 31... Ho anche provato a formattare il campo durata della query come suggerito nell'articolo ma nei formati Access non c'è, come invece in Excel, il formato 34:45:21 (esempio). Fatto sta che se sommo due durate di 14 ore non ottengo 28 ore ma 4. Idee?
    Grazie cmq
  • Re: Somma tempi lunghi

    Secondo me non hai usato il mio suggerimento o, se lo hai usato non lo hai fatto correttamente... forse nemmeno capendo come funziona.

    Credo che ci sia uno di confusione...
    Se vuoi parlare di cose concrete fai la prova e pubblichi i dati che ottieni e le tue considerazioni, altrimenti tra varie cose che ho sentito io vi lascio chiacchierare...
  • Re: Somma tempi lunghi

    OsvaldoLaviosa ha scritto:


    @Alex ha scritto:


    Mah... prova a sommare il valroe DateTime 23:00:00 con il valore DateTime 2:00:00 e dicci cosa succede...
    Ho detto che occorre la Data APPICCICATA a Ora.
    Osvaldo non dire cavolate il campo può essere valorizzato anche solo con hh:mm:ss quindi stai parlando probabilmente senza avere tutto sotto controllo... nuovamente.
  • Re: Somma tempi lunghi

    La mia opinione è che non sarebbe male esplicitare il tempo sfruttando anche "day/giorno"...dal mio punto di vista anche "più ortodosso".
    Leggo comunque che DavidE preferisce contare le Ore. Sotto questo punto di vista va seguito il suggerimento di @Alex.
  • Re: Somma tempi lunghi

    OsvaldoLaviosa ha scritto:


    La mia opinione è che non sarebbe male esplicitare il tempo sfruttando anche "day/giorno"
    Quindi dall'imperarivo "occorre"... passiamo all'opinabile "non sarebbe male"... opinabile... io lascerei passare 15 secondi la prossima volta...

    OsvaldoLaviosa ha scritto:


    ...dal mio punto di vista anche "più ortodosso".
    Ortodosso in relazione a quale esigenza...? La tua...?
    La parte data in questo caso non pare abbia alcun senso.

    OsvaldoLaviosa ha scritto:


    Leggo comunque che DavidE preferisce contare le Ore.
    Non sta "preferendo"... è una esigenza che ha espresso dal primo post.
    Insomma... possiamo migliorare.
  • Re: Somma tempi lunghi

    Grazie a tutti. L'idea di usare anche il giorno (=24 hr) è più che accettabile ma non sono riuscito , con la formattazione, a metterla in pratica.
    Né g né d , a prescindere dai separatori usati, ottengono il risultato. Vi allego un'immagine di cosa ottengo ora: se sommo periodi complessivamente maggiori di 24 ore, il calcolo riparte. Per es. "ciclo" dura in totale 32 ore 52', ma il risultato è 8 ore 52'.
    Allegati:
    24824_d4821dbbe64b21a289bef2eb7798e865.png
    24824_d4821dbbe64b21a289bef2eb7798e865.png
  • Re: Somma tempi lunghi

    Qualcosa del genere
    
    Format(24 * Int(SUM(tempi.tempi)) + Hour(SUM(tempi.tempi)), "0") & ":" & Format(SUM(tempi.tempi), "Nn") AS Durata
    
    può andare?
  • Re: Somma tempi lunghi

    oregon ha scritto:


    Qualcosa del genere
    
    Format(24 * Int(SUM(tempi.tempi)) + Hour(SUM(tempi.tempi)), "0") & ":" & Format(SUM(tempi.tempi), "Nn") AS Durata
    
    può andare?
    Grazie mille Oregon! funziona perfettamente.
    Devo solo capire se sia meglio avere il risultato in ore (per es. 26h) oppure in giorni e ore (1g 2h).
    Nel caso, sapresti come fare? grazie
Devi accedere o registrarti per scrivere nel forum
21 risposte