Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb requete parametré avec execute

3 réponses
Avatar
gyl09_2000
Bonjour,

j'ai une requete qui a pour "paramètre" un champ d'un
formulaire. Si je lance ma requete seul elle marche sans
problème.

En revanche, j'ai besoin de l'appeler dans un bloc de code
pour l'associer à un évènement. J'utilise la méthode :
CurrentDb.Execute strSQLString, dbFailOnError
et la ca ne marche plus il m'envoie le msg d'erreur
suivant "trop peu de paramètres. 1"

Or le formulaire est bien ouvert et le champ renseigné. De
plus, si je remplace dans le code de la requête
le "paramètre" : [Formulaires]![nom_forms]![champ]par une
constante ca marche.

Si kkun pouvait m'aider,

merci

3 réponses

Avatar
Xavier HUE
Bonjour Guillaume,

Définit explicitement le paramètre:
- Ouvrir la requête en mode création
- Choisir Requête / Paramètres
- Ajouter le paramètre [Formulaires]![nom_forms]![champ]

Cordialement.
Avatar
Raymond [mvp]
Bonjour.

Il faut que tu passes les paramètres d'une façon explicite avant de lancer
l'exécution de la requête
exemple:
Dim dbsCurrent As DAO.Database
Dim Qdf As DAO.QueryDef
Set dbsCurrent = CurrentDb()
Set Qdf = dbsCurrent.QueryDefs("Nomdemarequête")
Qdf.Parameters("Monparamètre1") = "codeclient"
Qdf.Parameters("Monparamètre2") = "datedébut"
Qdf.Parameters("Monparamètre3") = "datefin"
Qdf.Execute


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guillaume" a écrit dans le message de
news:
Bonjour,

j'ai une requete qui a pour "paramètre" un champ d'un
formulaire. Si je lance ma requete seul elle marche sans
problème.

En revanche, j'ai besoin de l'appeler dans un bloc de code
pour l'associer à un évènement. J'utilise la méthode :
CurrentDb.Execute strSQLString, dbFailOnError
et la ca ne marche plus il m'envoie le msg d'erreur
suivant "trop peu de paramètres. 1"

Or le formulaire est bien ouvert et le champ renseigné. De
plus, si je remplace dans le code de la requête
le "paramètre" : [Formulaires]![nom_forms]![champ]par une
constante ca marche.

Si kkun pouvait m'aider,

merci


Avatar
guillaume
Je te remercie ca marche


-----Message d'origine-----
Bonjour.

Il faut que tu passes les paramètres d'une façon
explicite avant de lancer

l'exécution de la requête
exemple:
Dim dbsCurrent As DAO.Database
Dim Qdf As DAO.QueryDef
Set dbsCurrent = CurrentDb()
Set Qdf = dbsCurrent.QueryDefs("Nomdemarequête")
Qdf.Parameters("Monparamètre1") = "codeclient"
Qdf.Parameters("Monparamètre2") = "datedébut"
Qdf.Parameters("Monparamètre3") = "datefin"
Qdf.Execute


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guillaume" a écrit dans le message
de

news:
Bonjour,

j'ai une requete qui a pour "paramètre" un champ d'un
formulaire. Si je lance ma requete seul elle marche sans
problème.

En revanche, j'ai besoin de l'appeler dans un bloc de
code


pour l'associer à un évènement. J'utilise la méthode :
CurrentDb.Execute strSQLString, dbFailOnError
et la ca ne marche plus il m'envoie le msg d'erreur
suivant "trop peu de paramètres. 1"

Or le formulaire est bien ouvert et le champ renseigné.
De


plus, si je remplace dans le code de la requête
le "paramètre" : [Formulaires]![nom_forms]![champ]par
une


constante ca marche.

Si kkun pouvait m'aider,

merci



.