Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    178

    Group by che non raggruppa

    Ciao a tutti ho il seguente codice che lo inserisco nella mia pagina asp per fare la somma dei dati presenti in una colonna della tabella del database distinti in base al tipo di oggetto:

    <%
    Dim mdb
    mdb = "db.mdb"

    'creiamo l'oggetto Connection
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")

    'apriamo la connessione
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath(mdb)

    'settiamo la nostra stringa SQL
    Dim str_sql

    str_sql = "SELECT new_table_articolo, new_table_articolo1, Sum(new_table_quantita)+Sum(new_table_quantita1) AS totale2 FROM new_table GROUP BY new_table_articolo, new_table_articolo1"

    'creiamo l'oggetto RS
    set rs = conn.execute(str_sql)
    %>
    <input type="text" name="t2" value="<%=rs("totale2")%>">
    </td>
    </tr>

    la colonna new_table_articolo è quella relativa al codice articolo
    la colonna new_table_descriz è il nome dell'oggetto
    la colonna new_table_quantità è quella dove vi sono i valori da sommare.

    Il risultato che ottengo però è la somma di solo un singolo oggetto corretto senza però riuscire a visualizzare i dati presenti per gli atri oggetti.
    Come posso Fare?

    Ringrazio tutti anticipatamente per l'aiuto

  2. #2
    nn è chiaro cosa siano articolo e articolo1

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    178
    new_table_articolo1 è una colonna dove c'è il codice articolo per i valori della colonna new_table_descriz1;
    new_table_articolo è una colonna dove c'è il codice articolo per i valori della colonna new_table_descriz.

    ho provato a farlo anche solo su una sola colonna e funziona però mi restituisce solo il totale per un singolo articolo tralasciando di farmi la somma di tutti gli altri.

    Es.

    nella tabella new_table descriz

    p20
    a10
    b25
    p20
    p20

    nella tabella new_tabe_articolo

    pere
    arance
    banane
    pere
    pere

    nella tabella new_table_quantita

    10
    2
    45
    10
    80

    al posto di restituirmi il risultato finale:

    p20 - Pere - 100
    a10 - Arance - 2
    b25 - banane - 45

    mi da solamente: p20 - Pere - 100 e non mi visualizza le altre somme.

    Spero di essere stato chiaro

  4. #4
    beh, se ti viene restituito un recordset di n righe, 'sto recordset lo dovrai scorrere, no?

    usa un ciclo

    DO WHILE NOT RS.EOF
    ... visualizzazione
    RS.MOVENEXT
    LOOP


  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    178
    ho già provato anche in questo modo ma mi restituisce sempre e solo il primo valore n volte quante sono le righe totali che dovrebbe andare a riempire

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    178
    <%
    Dim mdb
    mdb = "db.mdb"

    'creiamo l'oggetto Connection
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")

    'apriamo la connessione
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath(mdb)

    'settiamo la nostra stringa SQL
    Dim str_sql

    str_sql = "SELECT new_table_articolo, Sum(new_table_quantita) AS totale2 FROM new_table GROUP BY new_table_articolo"

    'creiamo l'oggetto RS
    set rs = conn.execute(str_sql)

    DO WHILE NOT RS.EOF
    %>
    <input type="text" name="t2" value="<%=rs("totale2")%>">
    <%

    RS.MOVENEXT
    LOOP
    %>

    adesso ci sono riuscito però ho un'altro problema: nel momento che io inserisco i dati nel database, me li mette tutti nella colonna t2 della tabella fattura. Io dovrei metterli separati in quanto quando ne richiamo la visualizzazione per la stampa della fattura, li ho tutti assieme in modo incongruenti.

    mi puoi dare una mano su come fare questo passaggio?

  8. #8
    Originariamente inviato da m_ferraris
    adesso ci sono riuscito però ho un'altro problema: nel momento che io inserisco i dati nel database, me li mette tutti nella colonna t2 della tabella fattura. Io dovrei metterli separati in quanto quando ne richiamo la visualizzazione per la stampa della fattura, li ho tutti assieme in modo incongruenti.

    mi puoi dare una mano su come fare questo passaggio?
    1° - è il forum che ti da' *eventualmente* una mano, mica solo io
    2° - lo farei *eventualmente* se avessi capito


  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    178
    vi spiego:

    ora sono riuscito ad ottenere tutti i valori sommati in modo corretto però, per inserirli nella tabella fattura del db ho solo un campo chiamato t2 il quale mediante il loop viene replicato n volte quanti sono i valori estrapolati dalla sql quindi, nella tabella fattura avrò un campo t2 con n valori inseriti separati dalla virgola (esempio 100, 3, 45, ecc ecc).

    Oltre a quello avrò un'altra colonna denominata "articolo" nella quale ci saranno di nuovo tutti gli articoli a cui si riferisce il campo "t2" sempre anch'essi separati da virgola (es. pere, mele, fichi, ecc ecc)

    come posso fare per avere come risultato finale nella visualizzazione della fattura:

    pere - 100
    mele - 3
    fichi - 45
    ecc - ecc?

    Grazie mille

  10. #10
    cioè, il record della fattura è fatto così:

    codice:
    ID | numero | cod_cliente | descrizione       | quantita   | ....
    ---+--------+-------------+-------------------+------------+-----
     1 | 000001 | 45          | pere, mele, fichi | 10, 15, 18 | ...
     2 | 000002 | 32          | acqua, vino       | 2300, 42   | ...
    ....


    che mente chi l'ha progettata così.... (mi riferisco ovviamente ai campi descrizione e quantita)


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.