Echanger entre les rows d'un recordset

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 5 juil. 2015 à 21:43
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 5 juil. 2015 à 23:03
Bonjour,

J'ai un recordset de type OleDbDataReader.
J'ai besoin d'échanger entre les rows du recordset
le recordset contient un nombre pair de rows
les champs du recordset sont nom du joueur et points
ex
0 titi 23
1 toto 45
2 grandtoto 78
3 toto 32
4 toto 30
5 grandtiti 56

représente tous les matchs joués par toto
rangée 0 a joué contre rangée 1
rangée 2 contre rangée 3
rangée 4 contre rangée 5

je voudrais placer tous les toto dans une rangée indexée pair
c.a.d échanger entre la rangée 0 et la rangée 1
entre la rangée 2 et la rangée 3

pour obtenir
0 toto 45
1 titi 23
2 toto 32
3 grandtoto 78
4 toto 30
5 grandtiti 56


Merci

1 réponse

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
5 juil. 2015 à 23:03
Bonsoir, je ne faits pas de base de données, alors les recordset je ne connais pas.
Si tu as la possibilité de passer par des listes de classe, voilà comment je m'y prendrais.

La classe Resultat à le nom du joueur et ses points comme propriétés.
La classe match à une liste de Resultat comme propriété et prend soit 2 lignes de recordset dans son constructeur, soit les enregistrements de ces lignes et le nom du joueur à mettre en tête.

Dans le constructeur, tu crees tes deux Resultat et tu les places dans la liste,que tu tries avec un
OrderBy(Function(r) r.NomJoueur)


Une fois tous tes matchs créés, tu fais une requête qui concatène toutes les listes en une seule.

Et enfin tu exportes ça vers ton recordset.
0
Rejoignez-nous