Msg erreur: "Trop peu de parametres: 1 attendu"

Résolu
otakurom Messages postés 120 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 11 juin 2010 - 28 déc. 2009 à 01:27
otakurom Messages postés 120 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 11 juin 2010 - 28 déc. 2009 à 10:01
Bonjour,

J'ai une table "Produits" dans access avec les champs "N°", "Dénomination", "Stock_actuel"...
Lorsque je tape :
Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `N°`= " & "1")

Le programme récupère la donnée sans problème!

Mais si je tape :
Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `Dénomination`= " & "P1")

J'ai alors le message ! "Trop peu de parametres: 1 attendu"
Le problème vient de P1 qu'il ne reconnait pas.
Je ne sais pas comment faire pour qu'il le reconnaisse. Pouvez vous m'aider svp, je suis perdu là.

6 réponses

bilelvb Messages postés 10 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 28 décembre 2009
28 déc. 2009 à 04:47
Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `Dénomination`= " & P1 &"")
Le pb est au niveau de la variable, donc tu dois l entouré par "&&".
Normalement ça va tourner.
3
otakurom Messages postés 120 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 11 juin 2010
28 déc. 2009 à 09:32
Il me met qu'il ne trouve pas "P1 "...

(je ne sais pas si c'est important mais P1 n'est pas une variable, c'est une donnée que je recopie directement de ma table access)
0
otakurom Messages postés 120 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 11 juin 2010
28 déc. 2009 à 09:42
C'est bon, j'ai mis:
Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `Dénomination`= '" & "P1" & "';")


Ça marche, merci beaucoup!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 déc. 2009 à 09:45
ok, donc a mettre entre quotes, sinon il prendra ça pour un nom de parametre.

n'en ayant définit aucun pour ta requete, il te dit qu'il y en a trop peu, qu'il attend la volarisation d'un parametre.

en clair :

Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `Dénomination`= 'P1' ")


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 déc. 2009 à 09:46
posts croisés...

pas besoin de mettre concaténer P1 comme tu l'as fait, il fait partie de ta requète...


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
otakurom Messages postés 120 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 11 juin 2010
28 déc. 2009 à 10:01
D'accord! Merci je ne savais pas!
0
Rejoignez-nous