Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema con datediff e somma ore

    Ciao ho questo problema, ho creato un banale report assistenza con alcuni campi e le ore di inizio e fine lavoro:
    es: dalle08.00 alle 12.00 e dalle 14.00 alle 18.00
    Questi campi nel db sono in formato data ora e si chiamano da,a,da1,a1.
    Bene il problema è che vorrei in automatico ricavare le ore di lavoro:

    lascio stare la conn e la query estrapolo i campi associando delle variabili ai valori dal db
    ---------------------
    mio script:
    data1=RS("da")
    data2=rs("a")
    data3=rs("da1")
    data4=rs("a1")

    diff=DateDiff("n", data1, data2)
    diff1=DateDiff("n", data4, data3)
    totaldiff=diff+diff1
    ---------------------
    Questo non funziona, mi aiutate a capire grazie?
    Ciao

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    In che senso non funziona?

  3. #3

    ecco

    ciao grazie dell'aiuto
    ecco mi da dei valori strani mi spiego.
    io dovrei per prima cosa ricavare i minuti e poi trasformarlo in ore minuti giusto?
    Ecco invece ad esempio su questo record:
    08.15 09.00 - 14.00 15.00 MI DA COME RISULTATO - 15...
    Non capisco lo script dovrebbe essere corretto ... almeno
    ciao

  4. #4

    risolto ma ho ancora un problema

    Ciao ho risolto il problema sopra ma ne ho un'altro ancora.
    Allora ho un campo data ora nel db
    Nel recordset mi stampo i campi poi con un recordcount e loop me li sommo:
    es. nei record ho 01.00 - 02.00 ecc ecc
    Come somma ottengo pero :200
    --------
    totalrecords=rs.recordcount

    <td width="32" class="lato"><%=oretrasf%></td>
    totoretrasf=totoretrasf + rs("oretrasf")
    %>

    <% rs.movenext
    loop end if
    --------------
    sopra ottengo la somma delle ore ma in un formato strano es. 200 invece di 2
    Come faccio a fare un modo di ottenere un formato numerico
    Io a quel totale devo moltiplicare un costo orario es 30 euro
    Quindi mi dovro avere 60 euro come totale e non 600
    Grazie, ciao

  5. #5
    non puoi usare recordcount...

    quello conta il numero dei record...

    io ho fatto così:

    DiffAmattina = DateDiff("n", dalle1, alle1)
    DiffApomeriggio = DateDiff("n", dalle2, alle2)

    totale_giorno = (DiffAmattina + DiffApomeriggio - min_perm)\60 & ":" & (DiffAmattina + DiffApomeriggio - min_perm) mod 60
    Response.write totale_giorno%>


    mi fa la somma esatta delle ore + minuti

    in pratica devi convertire le ore in minuti e fare le somme in minuti


    all'inizio avevo fatto:

    '################OLD#####################
    '# minuti = DiffAmattina + DiffApomeriggio
    '# ore = minuti\60
    '# minutiefettivi = minuti - (ore*60)
    '# minutiefettivi = minuti MOD 60
    '# totale = ore & ":" & minutiefettivi
    '# tot = minuti + minutiefettivi
    '# ore2= tot\60
    '# oreefettive = tot - (ore2*60)
    '# oreefettive = tot MOD 60
    '# totalelav = ore & ":" & oreefettive
    '#################New###################à

    funziona, ma non faceva al mio scopo...

    cmq spero tu capisca il funzionamento
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.