Msg erreur: "Trop peu de parametres: 1 attendu" [Résolu]

Signaler
Messages postés
120
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
11 juin 2010
-
Messages postés
120
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
11 juin 2010
-
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

Messages postés
10
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
28 décembre 2009

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.
Messages postés
120
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
11 juin 2010

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)
Messages postés
120
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
11 juin 2010

C'est bon, j'ai mis:
Set re = bds.OpenRecordset("SELECT `Stock_actuel` FROM `Produits` WHERE `Dénomination`= '" & "P1" & "';")


Ça marche, merci beaucoup!
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Messages postés
120
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
11 juin 2010

D'accord! Merci je ne savais pas!