Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Sommare il contenuto dei valori di un campo a seguito di filtro

    Dunque ho provato a cercare nel forum ma senza esito.
    Io vorrei che aseguito di una interrogazione del database, nella quale vengono estratti dei dati semplicemente filtrando un solo campo, mi venga aggiunto una riga alla fine che riporta la somma (relativamente ad un campo) dei valori filtrati.

    Non ho capito se devo modificare il codice iniziale relativo al filtro, che riporto:

    <%
    Dim rscapitolo
    Dim rscapitolo_numRows

    Set rscapitolo = Server.CreateObject("ADODB.Recordset")
    rscapitolo.ActiveConnection = MM_connDUcalendar_STRING
    rscapitolo.Source = "SELECT * FROM TYPES_CAP ORDER BY TYPE_ID ASC"
    rscapitolo.CursorType = 0
    rscapitolo.CursorLocation = 2
    rscapitolo.LockType = 1
    rscapitolo.Open()

    rscapitolo_numRows = 0
    %>



    oppure il codice del form:

    <form action="type_capitolo.asp" method="get" name="type" id="type">
    <td width="33%" align="center" class="textBold">
    <select name="Filtro_Capitolo" class="form" id="Filtro_Capitolo">
    <%
    While (NOT rscapitolo.EOF)
    %>
    <option value="<%=(rscapitolo.Fields.Item("TYPE_ID").Value )%>"><%=(rscapitolo.Fields.Item("TYPE_NAME").Value )%></option>
    <%
    rscapitolo.MoveNext()
    Wend
    If (rscapitolo.CursorType > 0) Then
    rscapitolo.MoveFirst
    Else
    rscapitolo.Requery
    End If
    %> </select>
    <input name="view" type="submit" class="form" id="view" value="VAI">

    </td>
    <td width="33%" align="right" class="textBold">
    </td></form>

  2. #2
    2 query: una per l'elenco e una per i totali. la somma in sql si fa con SUM(campo)

  3. #3

    due query ma come??

    scusami ma non essendo molto pratico potresti aiutarmi a fare la seconda query?
    quale codice devo inserire considerando che la tabella in cui si trovano di dati da sommare si chiama EVENTS, e il campo si chiama IMPORTO?.

    La query che attualmente è già impostata riporta semplicemente i record presenti nella tabella EVENTS, in cui nel campo "CAPITOLO" c'è un certo contenuto.
    Tale contenuto nella query viene preso dalla lista dei capitoli, riportato nella tabella TYPES_CAP nel campo TYPE_ID.


    spero di aver spiegato bene il tutto.

  4. #4
    non che abbia capito molto. questa la sintassi

    SELECT SUM(CAPITOLO) FROM EVENTS WHERE .....

    sistemala tu

  5. #5
    Ok sono riuscito a fare la somma, il problema è che mi fa la somma di tutti i record del database, e non solamente quelli che rispondono allas celta iniziale (un determinato capitolo).

    Io ho inserito il codice:

    <%
    Dim cn,cm
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("_private/DATABASE.mdb")
    set rs=cn.execute ("Select SUM(IMP_COMP) as totale from EVENTS")
    response.write "Risultato dalla somma del campo IMP_COMP: "&rs("totale")
    cn.close
    Set cn = NOTHING
    Set rs = Nothing
    %>

  6. #6
    gball, se non metti la where....

  7. #7
    Ok manca where, ma in che modo bisogana scrivere questa condizione?
    Ho provato a scrivere:

    <%
    Dim cn,cm
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("_private/DUcalendar.mdb")
    set rs=cn.execute ("Select SUM(IMP_COMP) as totale from EVENTS, TYPES_CAP WHERE EVE_APPROVED=1 AND CAPITOLO = " + Replace(rscapitoloListing__MMColParam, "'", "''") + " AND CAPITOLO = TYPE_ID ORDER BY " + Replace(rscapitoloListing__sql_orderby, "'", "''") + ""
    response.write "Risultato dalla somma del campo IMP_COMP: "&rs("totale")
    cn.close
    Set cn = NOTHING
    Set rs = Nothing
    %>


    Mi da un errore alla fine della riga dove c'è where:
    Error Type:
    Microsoft VBScript compilation (0x800A03EE)
    Expected ')'

    Il codice che ho aggiunto, e che da errore, funziona però nel filtro che filtra solamente il capitolo che vado a scrivere:
    <%
    Dim rscapitoloListing__MMColParam
    rscapitoloListing__MMColParam = "0"
    if (Request.QueryString("Filtro_Capitolo") <> "") then rscapitoloListing__MMColParam = Request.QueryString("Filtro_Capitolo")
    %>
    <%
    set rscapitoloListing = Server.CreateObject("ADODB.Recordset")
    rscapitoloListing.ActiveConnection = MM_connDUcalendar_STRING
    rscapitoloListing.Source = "SELECT * FROM EVENTS, TYPES_CAP WHERE EVE_APPROVED=1 AND CAPITOLO = " + Replace(rscapitoloListing__MMColParam, "'", "''") + " AND CAPITOLO = TYPE_ID ORDER BY " + Replace(rscapitoloListing__sql_orderby, "'", "''") + ""
    rscapitoloListing.CursorType = 0
    rscapitoloListing.CursorLocation = 2
    rscapitoloListing.LockType = 3
    rscapitoloListing.Open()
    rscapitoloListing_numRows = 0
    %>



    Come posso modificare il codice che non funziona?

  8. #8
    leggi! ti dice che alla fine manca una ")"...

  9. #9
    ho provato ad aggiungere ma senza esito. Mi da sempre lo stesso errore, sia inserendo ')' sia inserendo ")".

    Da sempre lo stesso errore.

  10. #10
    onestamente...


    sbagliata

    set rs=cn.execute ("Select SUM(IMP_COMP) as totale from EVENTS, TYPES_CAP WHERE EVE_APPROVED=1 AND CAPITOLO = " + Replace(rscapitoloListing__MMColParam, "'", "''") + " AND CAPITOLO = TYPE_ID ORDER BY " + Replace(rscapitoloListing__sql_orderby, "'", "''") + ""

    corretta

    set rs=cn.execute ("Select SUM(IMP_COMP) as totale from EVENTS, TYPES_CAP WHERE EVE_APPROVED=1 AND CAPITOLO = " + Replace(rscapitoloListing__MMColParam, "'", "''") + " AND CAPITOLO = TYPE_ID ORDER BY " + Replace(rscapitoloListing__sql_orderby, "'", "''") + "" )

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.