compter les éléments d'une requête

compter les éléments d'une requête - VB/VBA/VBS - Programmation

Marsh Posté le 22-04-2005 à 17:38:24    

Bonsoir,
 
Je cherche à récupérer un nombre m'indiquant le nombre d'éléments retournés par une requête SQL sous VBA Access 2003...
 
Jusque là j'en suis arrivée à  
 
Sub
    Dim db As Database
    Dim nb_places As Integer
    Dim code_prest As String
    Dim requete As String
    Dim rst As Recordset
 
    requete = "select * from TableEtudiantsParPrestation where TableEtudiantsParPrestation.CodePrestation=" & code_prest
 
    Set db = CurrentDb
    Set rst = db.OpenRecordset(requete)
 
    nb_places = rst.RecordCount
 
End Sub
 
où code_prest est affecté correctement.
mais il bloque à la ligne rst = ... en me disant qu'il "attend au moins un paramètre"... OpenRecordset prend bien au moins une chaine de caractères en paramètre ??
 
Je ne vois absolument pas où je pourrais avoir faux, merci de m'aider

Reply

Marsh Posté le 22-04-2005 à 17:38:24   

Reply

Marsh Posté le 22-04-2005 à 18:23:26    

Bon avec  
 
requete = "select * from TableEtudiantsParPrestation where TableEtudiantsParPrestation.CodePrestation=" & code_prest &";"  
toujours pas...

Reply

Marsh Posté le 22-04-2005 à 20:40:59    

J'ai trouvé !!!
 
La chaine de requete posait problème : je l'ai remplacée par
 
requete = "SELECT TableEtudiantsParPrestation.CodeEtudiant FROM TableEtudiantsParPrestation WHERE TableEtudiantsParPrestation.CodePrestation='" & code_prest & "'ORDER BY TableEtudiantsParPrestation.CodeEtudiant"
 
et tout de suite ça marche mieux...

Reply

Marsh Posté le 25-04-2005 à 09:52:54    

Y a plus simple...  
Fais un SELECT COUNT(CodeEtudiant) FROM TableEtudiantsParPrestation WHERE CodePrestation = " & code_prest
 
Ensuite tu récupères la valeur et tu as ton nombre d'enregistrements...

Reply

Marsh Posté le 25-04-2005 à 10:08:21    

Merci j'essaierai la prochaine fois que je tombe sur un pb similaire... en attendant ça marche je ne touche plus  ;)

Reply

Marsh Posté le 25-04-2005 à 11:26:58    

t'a résolu ton problème de "'" ?? tu te souvien, tu as dit que tu avais 1 problème dans une requete SQL. moi je n'y arrivz toujours pas !

Reply

Marsh Posté le 25-04-2005 à 11:35:55    

oui donc c bel et bien un pbm de syntaxe dans la formulation de la requete
Il te dit manque un paramètre parce qu'il considère que ta chaine de caractères n'est pas une requete
Donc moi ce que j'ai changé... J'ai remplacé mon * par un champ comptable, un truc correct pas trop compliqué... je voulais juste compter donc moi ça me suffit... J'ai mis des apostrophes autour de ma variable chaine de caractères, comprises dans la chaine de requete...pis j'ai mis un ORDER BY, va savoir pourquoi, ca marchait mieux comme ça.
J'ai un ti peu tatonné, j'avoue, je ne sais pas exactement pourquoi ça marche...


Message édité par Mariooo le 25-04-2005 à 11:36:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed