Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506

    Ordinare per recordCount

    Ciao a tutti.
    Ho una query del tipo

    codice:
    qry4 = "SELECT DISTINCT codice FROM tabella where esito=SI
    ...
    WHILE NOT RS4.EOF
    che mi estrae una serie di record, ma senza doppioni. Io avrei bisogno di sapere qual'è il numero di record per ogni riga estratta e possibilmente ordinare l'estrazione per tale numero.

    Attualmente ho fatto nel modo seguente: dopo il codice di cui sopra, per ogni riga stampata rifaccio una quesry senza il distinct:
    codice:
    qry5 = "SELECT * FROM tabella where esito=SI
    quanti=rs5.recordcount
    e stampo "quanti". Ottenendo una serie di righe, con nome e quantità di record corrispondenti, ottenendo una sporta di classiica (ciò che vorrei ottenere).

    E' evidentemente un metodo errato che non riesco a migliorare; qualcuno sà darmi qualche dritta, per effettuare magari un'unica query ed ordinare per numero di "record unici"?
    Grazie

  2. #2
    gim, ma non è la stessa cosa dell'altro 3d?

  3. #3
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao Optime. In effetti ho notato che l'altra query non funziona. Sto quindi trovando una soluzione alternativa.

    In poche parole, per verificare che l'altro script non funziona, avevo creato queste due query, una sul totale ed una singola per ogni record estratto dalla precedente. In questo modo il risultato è eccellente, ma non posso gestire i dati, nel senso che non posso ad esempi ordinarli e lo spreco di risorse è notevole.

    Diciamo che questa è una richiesta d'aiuto per risolvere lo stesso problema con una soluzione alternativa. Dici che la soluzione è quella (quello script purtroppo non funziona e non ho capito perchè)?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    codice:
    Prima query
    qry4 = "SELECT DISTINCT codice FROM tabella where esito=SI
    ...
    WHILE NOT RS4.EOF
    ...
    
    quindi la seconda
    qry5 = "SELECT * FROM tabella where esito=SI
    quanti=rs5.recordcount
    
    rs4.movenext
    wend
    Ottengo una cosa del genere
    uno (RS4)= 2 (RS5)
    due (RS4) = 5 (RS5)
    tre (RS4) = 3 (RS5)
    ecc.

  6. #6
    fantastico. non ci capisco niente. vado a casa contento

  7. #7
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Possibile? comunque il concetto è semplice anche se forse errato; metto un po' più di codice:

    codice:
    Set Conn = Server.CreateObject("ADODB.Connection") 
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("d.mdb")
    
    Set rs4 = Server.CreateObject("ADODB.Recordset") 
    qry4 = "SELECT DISTINCT codice FROM tabella where esito='SI'"
    rs4.open qry4,Conn,3,3
    WHILE NOT RS4.EOF
    CODICE=RS4("CODICE")
    
    Set rs5 = Server.CreateObject("ADODB.Recordset") 
    qry5 = "SELECT CODICE FROM TABELLA where CODICE='"&CODICE&"'"
    rs5.open qry5,Conn,3,3
    TOT=RS5.RECORDCOUNT
    RS5.CLOSE
    SET RS5=NOTHING
    
    RS4.MOVENEXT
    WEND
    non ho capito se vai via davvero; comunque appena puoi darci uno sguardo. Ciao e grazie

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.