Bonjour !!
Je ne m'explique pas une fantaisie que me fait Access.
Je génère une requête SQL, à travers VBA. Elle a cette tête :
Code :
- Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
|
Je but de la manoeuvre étant de récupérer tous les étudiants dont le code commence par la chaine de caractères code_etudiant (en général deux ou trois caractères)
Mon problème : la requete ne semble renvoyer toujours qu'un seul élément, puisque un RecordCount me renvoit toujours 1 !
Le problème vient-il de la syntaxe de la requête ?
Mon code entier :
Code :
- Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
- nb_enreg = rst.RecordCount
-
- If nb_enreg = 0 Then
- MsgBox "Pas d'étudiant ayant ce code"
- DoCmd.Close acForm, "FormulaireEtudiantRechIntuitive"
- ctl.SetFocus
- Exit Sub
- End If
-
- 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
|
En attendant je potasse le problème, merci pour votre aide
Message édité par Mariooo le 06-05-2005 à 11:37:28
---------------
Dyslexics have more fnu.