Ciao a tutti. devo creare la posizione di classifica di un determinato numero di giocatori seguendo un certo ordine.
Cioè il primo ordine è quello del risultato totale e il secondo è la discriminante. Sia il risultato totale che la discriminante le estraggo da un database.
La posizione di classifica è data dal risultato e se la discriminante è diversa allora anche la posizione di classifica sarà diversa.
esempio di classifica corretta:
Pos | risultato | discriminante
1 | 88 | 1
2 | 88 | 5
3 | 90 | 4
3 | 90 | 4
5 | 91 | 3
6 | 91 | 4
per la posizione di classifica faccio così:
quindi mi creo la classifica ma se la discriminante è diversa questo codice non ne tiene conto e mi darebbe:codice:posCLM = posCLM + 1 ' sempre IF Colp<>Ultima("colpi") THEN Colp=Ultima("colpi") contaposizione = posCLM End if
Pos | risultato | discriminante
1 | 88 | 1
1 | 88 | 5
3 | 90 | 4
3 | 90 | 4
5 | 91 | 3
5 | 91 | 4
quindi ho aggiunto:
codice:If gGiri = 3 Then If colp=Ultima("colpi") AND dis1<>Ultima("discriminante1") Then Colp=Ultima("colpi") contaposizione = posCLM End If End If
ma questo mi da:
Pos | risultato | discriminante
1 | 88 | 1
2 | 88 | 5
3 | 90 | 4
4 | 90 | 4
5 | 91 | 3
6 | 91 | 4
Cioè non tiene conto della discriminante e va avanti a contare. Invece se risultato e discriminante sono uguali deve mantenere la stessa posizione di classifica.
Aiuto!!!

Rispondi quotando

) non ti basta ordinare per "risultato desc, discriminante asc" ?
mo ci penso

