Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Problema con datediff

  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problema con datediff

    Ragazzi ho questo problema. Ho una tabella dove ci sono due campi ORAINIZIO e ORAFINE. Ho 100 record ed adesso dovrei estrarre la somma fra la differenza dei due. Quindi il totale dei datediff. Faccio:
    codice:
    Conn.open strconn 
    SquX="select sum(datediff(n,orainc,orafine)) as forse from principale2 ;" 
    set rs=server.createobject("adodb.recordset") 
    rs.open SquX, conn
    do while not Rs.eof 
    %>
    <table><tr><td><%rs("forse")%></td></tr></table>
    </tr></table>
    <%
    Rs.movenext 
    loop
    rs.close 
    Set rs=Nothing
    conn.close
    set conn=Nothing

    Ma mi da:
    Parametri insufficienti. Previsto 1.

    Eppure orainc ed orafine sono due campi della tabella.

  2. #2
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    prova così
    codice:
    SquX="select sum(datediff('n',orainc,orafine)) as forse from principale2 "
    Forza la magica ROMA

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Mi da:
    Numero errato di argomenti o assegnazione di proprietà non valida: 'rs'

  4. #4
    se è solo un calcolo di Ore...

    (sum(orafine - orainc) *24 * 60) as forse

    io uso questo...
    il campo è data/ora
    e dentro ci sono degli orari...


    ovviamente se inizi alle 9:00 di mattina e finisci alle 15:00 non puoi fare 9-15 devi fare 15 - 9 senò ti da un valore negativo che ti sfalsa tutto...

    Ciauz
    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.

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Be, si, qualcosa la tira fuori però, ho fatto la prova con sei record laddove orainizio è sempre 12.25 e ora fine 12.56 quindi una differenza di 31 minuti che per 8 record fa come somma 248 minuti che diviso 60 dovrebbe fare 4.133333 ore facendo però:
    codice:
    sum((orafine - orainc)*60 ) as forse
    mi da come valore 3.333333
    Perchè ?

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    ma che tipo di campo sono ?
    Forza la magica ROMA

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    In access data/ora.

  8. #8
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    la select che ti ho scritto la ho provata su access e funziona
    prova ad eseguirla direttamente sul db
    Forza la magica ROMA

  9. #9
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Adesso è importante il formato della somma. Non so cosa utilizza access......cioè, in visualizzazione ho 10.00 e 10.10. Uno meno l'altro dovrebbe darmi un valore che moltiplicato per 60 mi dia 10 ma non è così. Cagnaccia ladra.

  10. #10
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    Originariamente inviato da diegoctn
    Adesso è importante il formato della somma. Non so cosa utilizza access......cioè, in visualizzazione ho 10.00 e 10.10. Uno meno l'altro dovrebbe darmi un valore che moltiplicato per 60 mi dia 10 ma non è così. Cagnaccia ladra.
    no come dovrebbe capire il db che tu vuoi la differenza in minuti
    se scrivi
    codice:
    select datediff('n',orainc,orafine) as forse from principale2
    direttamente nel db cosa ti restituisce ?
    Forza la magica ROMA

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.