Mon recordset ne se trie pas alors que j'utilise ORDER BY

Signaler
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour tout le monde,

Je me suis connecté à une base de données mysql avec VB 6.

J'ai deux chaines SQL qui me permettent de récupérer des données dans cette bd :
"SELECT * FROM cours WHERE NOM_ANNEE """ & NomAnnee & """ AND Categorie ""NORMAL"""

et
"SELECT inscrits_en.ID, etudiants.MATRICULE_ET,etudiants.NOM_ET,etudiants.PRENOM_ET, inscrits_en.NOTE FROM `inscrits_en` LEFT JOIN `etudiants` ON ( inscrits_en.MATRICULE_ET etudiants.MATRICULE_ET ) WHERE MNEMONIC """ & formPrincipal.rst("MNEMONIC") & """  AND TYPE_DE_COURS = """ & formPrincipal.rst("TYPE_DE_COURS") & """ AND CATEGORIE = 'NORMAL' ORDER BY NOM_ET, PRENOM_ET"

Je parcours donc mes deux recordsets :

While Not formPrincipal.rst.EOF        reqNomPrenomEtudiants "SELECT inscrits_en.ID, etudiants.MATRICULE_ET,etudiants.NOM_ET,etudiants.PRENOM_ET, inscrits_en.NOTE FROM `inscrits_en` LEFT JOIN `etudiants` ON ( inscrits_en.MATRICULE_ET etudiants.MATRICULE_ET ) WHERE MNEMONIC = """ & formPrincipal.rst("MNEMONIC") & """  AND TYPE_DE_COURS = """ & formPrincipal.rst("TYPE_DE_COURS") & """ AND CATEGORIE = 'NORMAL' ORDER BY NOM_ET, PRENOM_ET"
        'MsgBox formPrincipal.rst("MNEMONIC") & formPrincipal.rst("TYPE_DE_COURS")
        'je récupère le matricule, nom, prénom et cote de l'étudiant pour le cours que l'on a cliqué avec le bouton
        formPrincipal.Creer_RecordsetNomPrenom reqNomPrenomEtudiants
        'je transforme le nom et prénom en majuscule car autrement il y a une différence entre les noms
        While Not formPrincipal.rst2.EOF
            NomPrenomEnMaj = UCase(appexcel.Cells(checkName, 2))
            MsgBox "En Excel => " & NomPrenomEnMaj & " dans la BD => " & formPrincipal.rst2("NOM_ET") & " " & formPrincipal.rst2("PRENOM_ET")
            'je vérifie si le nom et le prénom de la ligne Excel correspondent au nom et prénom de la bd pour être sûre de ne pas mettre les cotes d'un étudiant chez un autre étudiant
            If (NomPrenomEnMaj = formPrincipal.rst2("NOM_ET") & " " & formPrincipal.rst2("PRENOM_ET")) Then

Le problème, est que rst2 n'est pas trié par ordre croissant de nom/prénom !

le premier fonctionne parfaitement et à partir du second tour, j'ai un nom commençant par "V" alors que ça doit continuer avec "A".

Auriez-vous une idée svp ?

Merci d'avance.

beegees
A voir également:

1 réponse

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
salut,

le SQL doit avoir un seul champ de référence en ORDER BY, sinon çà ne marchera pas

voir également la syntaxe GROUP BY
++