Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Requete en LIKE sous VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete en LIKE sous VBA

n°1073695
Mariooo
Posté le 06-05-2005 à 11:34:18  profilanswer
 

Bonjour !!  :hello:  
 
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 :
  1. 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 :
  1. Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
  2. nb_enreg = rst.RecordCount
  3.    
  4. If nb_enreg = 0 Then
  5.     MsgBox "Pas d'étudiant ayant ce code"
  6.     DoCmd.Close acForm, "FormulaireEtudiantRechIntuitive"
  7.     ctl.SetFocus
  8.     Exit Sub
  9. End If
  10.    
  11. tablo = rst.GetRows(nb_enreg)
  12. 'affectation du tableau à la liste
  13. ctlListeEtudiants.RowSourceType = "Value List"
  14. For i = 0 To (nb_enreg - 1)
  15.     ctlListeEtudiants.AddItem (tablo(0, i) & " " & tablo(1, i))
  16. Next i


 
 
En attendant je potasse le problème, merci pour votre aide  :jap:


Message édité par Mariooo le 06-05-2005 à 11:37:28

---------------
Dyslexics have more fnu.
mood
Publicité
Posté le 06-05-2005 à 11:34:18  profilanswer
 

n°1073722
AlainTech
Pas trouvé? Cherche encore!
Posté le 06-05-2005 à 11:52:27  profilanswer
 

Mets ta string de requête dans une variable "string".
 
Ca te permettra de voir son contenu avant de l'appliquer.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1073789
Mariooo
Posté le 06-05-2005 à 12:35:25  profilanswer
 

Merci Alaintech mais... 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 :
  1. 'Compte le nombre de résultats en vu de l'affectation au tableau
  2.     Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
  3.     rst.MoveLast
  4.     nb_enreg = rst.RecordCount
  5.    
  6.     If nb_enreg = 0 Then
  7.         MsgBox "Pas d'étudiant ayant ce code"
  8.         ctl.SetFocus
  9.         Exit Sub
  10.     End If
  11. 'réouverture obligatoire du recordset (en tout cas ya que ça qui marche :p)
  12.     Set rst = CurrentDb.OpenRecordset("SELECT CodeEtudiant, Nom FROM TableEtudiants WHERE CodeEtudiant LIKE '" & code_etudiant & "*'" )
  13.     tablo = rst.GetRows(nb_enreg)
  14. 'affectation du tableau à la liste
  15.     ctlListeEtudiants.RowSourceType = "Value List"
  16.     For i = 0 To (nb_enreg - 1)
  17.         ctlListeEtudiants.AddItem (tablo(0, i) & " " & tablo(1, i))
  18.     Next i


---------------
Dyslexics have more fnu.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Requete en LIKE sous VBA

 

Sujets relatifs
menu deroulant et requeteLIKE et access
Requete SLQ/php avec LIKEAccess - VBA - Propriétés d'un MSGraph.Chart.8
Executer une requête action avec OLE DBMessage d'erreur - requete SQL (resolu)
Lien hypertexte VBA[MySql] requete d'effacement d'id
Transformer du code VBA en VB et Userform en Form 
Plus de sujets relatifs à : Requete en LIKE sous VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR