Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB.NET] Ordinamento "nidificato" di una tabella

    Ciao ragazzi, questo è il mio primo messaggio su questo forum anche se vi seguo da tantissimo senza mai postare mi avete aiutato a risolvere tanti problemini.

    Fatta questa piccola premessa vi espongo al meglio il mio piccolo cruccio sperando che voi possiate aiutarmi. Innanzi tutto ho cercato e ricercato sul forum ma non ho trovato soluzione quindi chiedo scusa in anticipo se non ho cercato bene...

    Sto buttando giu un piccolo programmino per gestire delle gare di tiro il cui punteggio va da 0 a 25 in caso di parità si devono valutare il primo e il secondo errore nei 25 tiri. Quindi si ha un punteggio composto in questa maniera:

    NOME COGNOME 25 | 5 | 3

    Allora io ho fatto tutto lavorando su tabella access ma ho problemi nell'ordinare il datagridview. Il mio codice al momento è questo:

    codice:
    Public Sub GridGara1(p As frmPrincipale) 
    connessione.Open() 
    strquery = "SELECT ID,nome,cognome,eta,P1,P11,P12 FROM Gara_Prova ORDER BY P1 DESC" 
    da = New OleDb.OleDbDataAdapter(strquery, connessione) 
    ds = New DataSet da.Fill(ds) 
    p.grdg1.DataSource = ds.Tables(0) 
    connessione.Close()
    End Sub
    ovviamente cosi facendo mi ordina solo in base al Punteggio principale. Io vorrei ordinare anche in base al puntegio primo errore (P11) e poi al punteggio secondo errore (P12) in modo tale da avere un risultato del genere:

    Tizio 23 | 5 | 3
    Caio 23 | 3 | 2
    Sempronio 23 | 3 | 1
    e cosi via....

    Ho provato un po' di tutto ma nulla funziona...attendo una vostra gradita risposta...
    Grazie anticipatamente!
    ciò che non mi uccide...me la suka!

  2. #2
    ... order by p1, p11, p12

  3. #3
    Originariamente inviato da optime
    ... order by p1, p11, p12
    purtroppo ho già provato questa soluzione ma non so perchè i dati me li ordina come si deve per P1 e per P11 ma poi da P12 non li ordina come si deve
    ciò che non mi uccide...me la suka!

  4. #4
    non so cosa tu intenda con "... non come si deve". fa' un esempio, grazie

  5. #5
    Originariamente inviato da optime
    non so cosa tu intenda con "... non come si deve". fa' un esempio, grazie
    bhe diciamo che ora non mi ordina piu nulla...comunque scusa ora ti faccio capire

    codice:
    connessione.Open()
    strquery = "SELECT ID,nome,cognome,eta,P1,P11,P12 FROM Gara_Prova ORDER BY P1,P11,P12 DESC"
    da = New OleDb.OleDbDataAdapter(strquery, connessione)
    ds = New DataSet
    da.Fill(ds)
    p.grdg1.DataSource = ds.Tables(0)
    connessione.Close()
    il risultato è questo


    Uploaded with ImageShack.us

    come puoi vedere abbastanza disordinati rispetto quello che doveva essere l'esito
    ciò che non mi uccide...me la suka!

  6. #6
    l'ordinamento è corretto

    tu hai scritto

    ... ORDER BY P1,P11,P12 DESC

    che equivale a scrivere

    ... ORDER BY P1 ASC, P11 ASC, P12 DESC

    forse volevi scrivere

    ... ORDER BY P1 DESC, P11 DESC, P12 DESC

    facce sape'

  7. #7
    Originariamente inviato da optime
    l'ordinamento è corretto

    tu hai scritto

    ... ORDER BY P1,P11,P12 DESC

    che equivale a scrivere

    ... ORDER BY P1 ASC, P11 ASC, P12 DESC

    forse volevi scrivere

    ... ORDER BY P1 DESC, P11 DESC, P12 DESC

    facce sape'
    Fantastico funziona :O ero sicuro di aver provato anche questa evidentemente no... erano un paio di giorni che sbattevo la testa ed era cosi semplice...grazie mille I<3U
    ciò che non mi uccide...me la suka!

  8. #8

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.