OVH Cloud OVH Cloud

Procedure stockée - inputparameters

7 réponses
Avatar
Serge
Bonjour,

Dans un projet .adp, comment faire pour d=E9finir la=20
propri=E9t=E9 Inputparameters d'un form en VBA et passer ce=20
param=E8tre =E0 une proc=E9dure stock=E9e qui remplit une liste=20
situ=E9e sur le formulaire ?

Merci, Serge

Voici mon code, mais =E7a ne marche pas, je re=E7ois toujours=20
une petite fen=EAtre qui me demande d'introduire le=20
param=E8tre =E0 la main.

Form.InputParameters =3D "@Per =3D '" & Me.txtPer & " '"

Liste0.RowSource =3D "ProListeNonTransPer"

7 réponses

Avatar
Gafish
Bonjour

Serge wrote:
Dans un projet .adp, comment faire pour définir la
propriété Inputparameters d'un form en VBA et passer ce
paramètre à une procédure stockée qui remplit une liste
située sur le formulaire ?
Form.InputParameters = "@Per = '" & Me.txtPer & " '"


De mémoire je crois qu'il faut lui préciser le type également, par exemple :
Form.InputParameters = "@Per nvarchar(50) = '" & Me.txtPer & " '"

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Merci et bien essayé, mais ça ne fonctionne pas.
Serge
-----Message d'origine-----
Bonjour

Serge wrote:
Dans un projet .adp, comment faire pour définir la
propriété Inputparameters d'un form en VBA et passer ce
paramètre à une procédure stockée qui remplit une liste
située sur le formulaire ?
Form.InputParameters = "@Per = '" & Me.txtPer & " '"


De mémoire je crois qu'il faut lui préciser le type
également, par exemple :

Form.InputParameters = "@Per nvarchar(50) = '" &
Me.txtPer & " '"


Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?
hl=fr



.




Avatar
Gafish
wrote:

De mémoire je crois qu'il faut lui préciser le type également, par
exemple : Form.InputParameters = "@Per nvarchar(50) = '" &
Me.txtPer & " '"


Merci et bien essayé, mais ça ne fonctionne pas.
Serge


Question(s) bête(s) : sur quel evènement mets tu ce code ? Si tu mets avant
un
msgbox Me.txtPer ca te donne quoi ?
N'as-tu pas fait de faute de frappe sur le nom de la zone txtPer ?

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Je mets le code sur un click button et Me.txtPer prend
bien la bonne valeur (venant d'une liste déroulante)
On dirait que la valeur ne se transmet pas au paramètre.

Serge

-----Message d'origine-----
wrote:

De mémoire je crois qu'il faut lui préciser le type
également, par



exemple : Form.InputParameters = "@Per nvarchar(50)
= '" &



Me.txtPer & " '"


Merci et bien essayé, mais ça ne fonctionne pas.
Serge


Question(s) bête(s) : sur quel evènement mets tu ce
code ? Si tu mets avant

un
msgbox Me.txtPer ca te donne quoi ?
N'as-tu pas fait de faute de frappe sur le nom de la
zone txtPer ?


Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?
hl=fr



.





Avatar
Gafish
De mémoire je crois qu'il faut lui préciser le type également, par
exemple : Form.InputParameters = "@Per nvarchar(50) = '" &
Me.txtPer & " '"


Merci et bien essayé, mais ça ne fonctionne pas.
Serge


Question(s) bête(s) : sur quel evènement mets tu ce code ? Si tu
mets avant un
msgbox Me.txtPer ca te donne quoi ?
N'as-tu pas fait de faute de frappe sur le nom de la zone txtPer ?

Je mets le code sur un click button et Me.txtPer prend

bien la bonne valeur (venant d'une liste déroulante)
On dirait que la valeur ne se transmet pas au paramètre.


C'est bizarre, la synntaxe m'a l'air ok pourtant.
Et côté ps, comment est déclarée la variable ? C'est peut etre de ce côté
qu'il faut chercher

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Serge
Le paramètre est déclaré : @Per nvarchar(50)
Et il est repris dans la clause WHERE: WHERE
(tblAppel.PeriodeTrans) = @Per AND (tblAppel.Transmis =
0) AND (tblAppel.Suivi LIKE 'GSM%')

Mais je ne pense pas que l'erreur vienne de là, car si
j'entre le param dans la boite d'access, ça fonctionne.
Il y a juste que si il faut chaque fois encoder le param
manuellement, c'est enbêtant pour les utilisateurs.

Serge

-----Message d'origine-----

De mémoire je crois qu'il faut lui préciser le type
également, par





exemple : Form.InputParameters = "@Per nvarchar(50)
= '" &





Me.txtPer & " '"


Merci et bien essayé, mais ça ne fonctionne pas.
Serge


Question(s) bête(s) : sur quel evènement mets tu ce
code ? Si tu



mets avant un
msgbox Me.txtPer ca te donne quoi ?
N'as-tu pas fait de faute de frappe sur le nom de la
zone txtPer ?




Je mets le code sur un click button et Me.txtPer prend

bien la bonne valeur (venant d'une liste déroulante)
On dirait que la valeur ne se transmet pas au
paramètre.



C'est bizarre, la synntaxe m'a l'air ok pourtant.
Et côté ps, comment est déclarée la variable ? C'est
peut etre de ce côté

qu'il faut chercher

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?
hl=fr



.







Avatar
Charles ERNST
On ne peut utiliser les input parameters que pour un formulaire ayant comme
source sous-jacente une procédure stockée paramétrée.
la syntaxe de input parameters est : @Param1 int = forms![Nom du
Formulaire]![Nom du contrôle] ; @Param2 nvarchar(5)= forms......

Pour remplir une liste le plus simple est d'utiliser l'évènement Sur Entrée
du controle liste pour construire une requète avec les paramètres en dur et
la mettre comme Rowsource du contrôle et de terminer par un M("Contrôle
liste").requery



"Serge" a écrit dans le message de
news: 18e701c55f8b$08646fe0$
Bonjour,

Dans un projet .adp, comment faire pour définir la
propriété Inputparameters d'un form en VBA et passer ce
paramètre à une procédure stockée qui remplit une liste
située sur le formulaire ?

Merci, Serge

Voici mon code, mais ça ne marche pas, je reçois toujours
une petite fenêtre qui me demande d'introduire le
paramètre à la main.

Form.InputParameters = "@Per = '" & Me.txtPer & " '"

Liste0.RowSource = "ProListeNonTransPer"