Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1

    Piccolo Problema di somma

    Non riesco ad ottenere la somma di valori numerici da un ciclo while, il sistema mi calcola solo l'ultimo record rilevato come posso fare ?
    <%
    Set rs = Server.CreateObject("ADODB.RecordSet")
    sql = "Select * from Periodi where idStr="&idStr&" And (nOut <="&nPartenza&" And nIn <="&nPartenza&")"
    rs.Open sql, conn, 3, 3
    if rs.recordcount > 0 then
    numero = rs.recordcount
    while not rs.EOF
    %>
    <%P2=rs("periodo")&" - "&rs("dataIn")&" - "&rs("dataOut")%>
    <% if p2 <> p1 And nArrivo < rs("nIn") And nPartenza <> rs("nOut") then %>
    <%g2=DateDiff("d", rs("dataIn"), rs("dataOut"))%>
    <%
    Set rsAll = Server.CreateObject("ADODB.RecordSet")
    sqlAll = "select * from prezzi where idPeriodo="&rs("ID")&" And dTipologiaAlloggio="&alloggio&" And idStr="&idStr
    rsAll.Open sqlAll, conn, 3, 3
    if rsAll.recordcount > 0 then
    prezzo = rsAll("prezzo")
    else
    prezzo = 0
    end if
    rsAll.Close
    Set rsAll = Nothing
    %>
    <%=rs("periodo")%>

    <% end if %>[/b]
    <%
    rs.movenext
    wend
    end if
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sarò cieco ma la somma dov'è?

    Roby

  3. #3
    Ovvio, ad ogni ciclo la variabile prezzo viene "sovrascritta", mostrandoti alla fine il valore dell'ultimo ciclo.

  4. #4
    come faccio ad evitare che venga sovrascrittà ?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se spieghi quello che vuoi fare...
    Perché se devi fare la somma dei prezzi ti basta la SELECT SUM(prezzo)...

    Roby

  6. #6
    Dipende da cosa devi fare...

  7. #7
    select sum(....) non funziona

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    0) Non ci hai detto cosa vuoi fare
    1) Dipende come l'hai usato


    Roby

  9. #9
    il sistema deve estrarre alcuni periodi dal sistema precedentemente convertiti in numeri e successivamente eseguire la somma dei valori estratti dalla colonna CostoP la query è:
    sql = "Select * from Qpp1 where idStr="&idStr&" And ( idTipologiaAlloggio ="&alloggio&" And nOut <="&nPartenza&" And nIn <="&nPartenza&")"
    per verificare che estragga il valore richiesto quella della somma è:
    sql = "Select Sum(CostoP) As SommaDiCostoP from Qpp1 where idStr="&idStr&" And ( idTipologiaAlloggio ="&alloggio&" nOut <="&nPartenza&" And nIn <="&nPartenza&")"

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La query della somma è giusta fatta salva la correttezza degli altri parametri e che il campo dei prezzi contenga SEMPRE valori numerici.

    Roby

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 © 2026 vBulletin Solutions, Inc. All rights reserved.