Erreur "trop peu de paramètres" en SQL/VBA

Résolu
Pioup -  
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


J'ai actuellement un problème avec une requête sql que je souhaite effectuer afin de récupérer le nombre demande d'intervention qui sont terminées afin de l'afficher dans un formulaire Access que je code via VBA. Je suis débutant en SQL, donc je ne maitrise pas encore toutes ses subtilités.

J'ai une erreur 3061 " Trop peu de paramètres. 1 attendu" et je ne comprends pas l'erreur que j'ai fait sachant que j'ai auparavant lancé dans mon code deux requêtes exactement similaires avec soit pas de "Where" soit une condition en plus de le "Where" et elles fonctionnent.

J'ai essayé de stocker le statut "Terminée" dans une variable comme vous pouvez le voir, mais ça ne change rien.

statut = "Terminée"
requete = "Select Count(*) as Nb_inter FROM [Demande d'Intervention] WHERE Statut_Intervention = " & statut
Set ST = CurrentDb
Set inter = ST.OpenRecordset(requete, dbOpenDynaset)
inter.MoveFirst
nb2 = inter.Nb_inter
Me.ZT_Termine = nb2


Donc je sollicite vos connaissances afin de me sortir de ce problème...

Merci d'avance pour votre aide !

A+
Pioup
A voir également:

2 réponses

lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   5
 
Hum...

Je pense qu'il faudrait tout d'abord mettre les bonnes quotes dans la requête!

Statut = "terminée" est, apparemment un string.

De ce fait dans la requête il faut mettre les quotes correspondantes. ' ------- '

requete = "Select Count(*) as Nb_inter FROM [Demande d'Intervention] WHERE Statut_Intervention = '" & statut "'""

A mon sens, cela peut démarrer le débugage...
1
Pioup
 
Tout d'abord, merci pour ta réponse

J'ai fais un copier coller de ce que tu proposes, mais j'ai désormais une erreur de syntaxe dans l'expression "Statut_Intervention = ' Terminée ".

J'ai vraiment beaucoup de mal avec ces " et ' ! Mais bon, ça commence doucement à rentrer.
0
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   5
 
En fait le truc à retenir c'est que si ton champ est de type string il te faut l'enquoter avec des ' '
Ex :

"................. WHERE num = " & num
Affichage : Where num = 028566631

" WHERE libellé = '" & libellé & "'""
Affichage : Where libellé = 'Ordinateur Portable'

Il faut que ' soit coller à "" car sinon ça indique un espace à la requête qui la fera planter.
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
requete = "Select Count(*) as Nb_inter FROM [Demande d'Intervention] WHERE Statut_Intervention = '" & statut  & "'"
0
Pioup
 
Merci pour l'explication lys44

Et merci à maka54, ça marche parfaitement comme ça !
0
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai modifié au même moment que maka54 postait, mon 1er post.
J'avais inversé ' " à la fin sans faire exprès.

Bref, ça marche tant mieux ;)

De rien, bon codage.
0
Pioup
 
Je remonte ce sujet, si quelqu'un a une réponse aujourd'hui.

Merci d'avance.
0