Ok problème résolu...
Cela n'avait rien à voir avec la requête, c'était mon RecordCount qui clochait.
Pour qu'un RecordCount renvoit autre chose que 1, il faut lui avoir fait parcourir d'abord tous les enregistrements du recordset...
Donc hop, un petit MoveLast et le tour est joué !
Code final-qui-marche pour ceux que ça intéresse
Code :
- 'Compte le nombre de résultats en vu de l'affectation au tableau
- Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
- rst.MoveLast
- nb_enreg = rst.RecordCount
-
- If nb_enreg = 0 Then
- MsgBox "Pas d'étudiant ayant ce code"
- ctl.SetFocus
- Exit Sub
- End If
- 'réouverture obligatoire du recordset
- Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
- tablo = rst.GetRows(nb_enreg)
- 'affectation du tableau à la liste
- ctlListeEtudiants.RowSourceType = "Value List"
- For i = 0 To (nb_enreg - 1)
- ctlListeEtudiants.AddItem (tablo(0, i) & " " & tablo(1, i))
- Next i
|
Message édité par Mariooo le 06-05-2005 à 12:33:37
---------------
Dyslexics have more fnu.