OVH Cloud OVH Cloud

Appel de procédure

7 réponses
Avatar
Christophe Lauliac
Bonjour,
Comment faire pour appeler une fonction ou procédure qui se trouve dans un
autre formulaire que le formulaire en cours??
je m'explique
j'ai un form A avec un bouton btn_A
lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai lancer
une fonction de ce formulaire .

Code de btn_A:

Private Sub btn_SaisieAdresse_Click()
DoCmd.OpenForm "B", acNormal
forms!B!Appelant = "acq"
forms!B!QuelleAdresse = "acq"
forms!B!Etranger = Me!Etranger
call "leNomDeMaProcDansFormulaireB" Acces me dit qu'il ne trouve
pas la procedure.. NORMAL

Comment y faire référence????

Merci
Christophe

7 réponses

Avatar
Raymond
Bonjour.
Pour appeler une fonction ou une procédure située dans un autre module, il
faut que cette fonction soit déclarée public ( propriété par défaut) et
qu'elle soit située dans un module standard, les fonctions public d'un
formulaire n'étant pas visibles par vba.
Si tu tiens à vraiment lancer un formulaire , tu places toute la fonction
dans l'événement form_Load de ce formulaire ou dans la macro autoexec.
il ne faut pas oublier qu'on peut faire appel à tous les contrôles d'un
autre formulaire pour récupérer certaines valeurs.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Christophe Lauliac" a écrit dans le
message de news:bnb7q4$s9a$
Bonjour,
Comment faire pour appeler une fonction ou procédure qui se trouve dans un
autre formulaire que le formulaire en cours??
je m'explique
j'ai un form A avec un bouton btn_A
lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai
lancer

une fonction de ce formulaire .

Code de btn_A:

Private Sub btn_SaisieAdresse_Click()
DoCmd.OpenForm "B", acNormal
forms!B!Appelant = "acq"
forms!B!QuelleAdresse = "acq"
forms!B!Etranger = Me!Etranger
call "leNomDeMaProcDansFormulaireB" Acces me dit qu'il ne trouve
pas la procedure.. NORMAL

Comment y faire référence????

Merci
Christophe





Avatar
3stone
Salut,

| Comment faire pour appeler une fonction ou procédure qui se trouve dans un
| autre formulaire que le formulaire en cours??
| je m'explique
| j'ai un form A avec un bouton btn_A
| lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai lancer
| une fonction de ce formulaire .


Si la sub appellée se nomme "Commande0.Click()"

Alors :

Call Forms("Nom du formulaire").Commande0_Click

a condition que la Sub soit Public et non Private,
et... le formulaire appelé soit ouvert, bien sûr.


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Christophe Lauliac
Merci, ca marche
Ouah, ajourdh'ui c'est pas la forme!
Call Forms("Nom du formulaire").Commande0_Click, j'avais fait... avec
Commande0_Click en private (y'a des jours comme ca..)
Merci beaucoup
Christophe



"3stone" a écrit dans le message de
news:3f992aa5$0$302$
Salut,

| Comment faire pour appeler une fonction ou procédure qui se trouve dans
un

| autre formulaire que le formulaire en cours??
| je m'explique
| j'ai un form A avec un bouton btn_A
| lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai
lancer

| une fonction de ce formulaire .


Si la sub appellée se nomme "Commande0.Click()"

Alors :

Call Forms("Nom du formulaire").Commande0_Click

a condition que la Sub soit Public et non Private,
et... le formulaire appelé soit ouvert, bien sûr.


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------





Avatar
Raymond
Bonjour Pierre.

Je vois que je répond le contraire de toi. je suis d'accord avec toi pour
faire ça mais il y a trop de risques dans le fonctionnement car trop de
conditions aléatoires comme l'objet chargé et la fonction non visible en
générateur de requêtes. moi, je préfère le module standard.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"3stone" a écrit dans le message de
news:3f992aa5$0$302$
Salut,

| Comment faire pour appeler une fonction ou procédure qui se trouve dans
un

| autre formulaire que le formulaire en cours??
| je m'explique
| j'ai un form A avec un bouton btn_A
| lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai
lancer

| une fonction de ce formulaire .


Si la sub appellée se nomme "Commande0.Click()"

Alors :

Call Forms("Nom du formulaire").Commande0_Click

a condition que la Sub soit Public et non Private,
et... le formulaire appelé soit ouvert, bien sûr.


--
A+
Pierre (3stone) Access MVP


Avatar
Christophe Lauliac
Re,
Dans ce cas précis c'est vraiment ce qu'il me faut.
je ne lance la fonction en question que sur une condition bien précise... la
mettre sur le load du formulaire ne m'interressait pas pour cette raison.
Ceci dit, vous m'aviez parfaitement répondu sur le fait qu'il fallait
qu'elle soit public et c'etait l'important pour moi.
Merci
Christophe

"Raymond" a écrit dans le message de
news:
Bonjour Pierre.

Je vois que je répond le contraire de toi. je suis d'accord avec toi pour
faire ça mais il y a trop de risques dans le fonctionnement car trop de
conditions aléatoires comme l'objet chargé et la fonction non visible en
générateur de requêtes. moi, je préfère le module standard.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"3stone" a écrit dans le message de
news:3f992aa5$0$302$
Salut,

| Comment faire pour appeler une fonction ou procédure qui se trouve
dans


un
| autre formulaire que le formulaire en cours??
| je m'explique
| j'ai un form A avec un bouton btn_A
| lorsque que je clique sur btn_A, le formulaire B s'ouvre et j'aimerai
lancer

| une fonction de ce formulaire .


Si la sub appellée se nomme "Commande0.Click()"

Alors :

Call Forms("Nom du formulaire").Commande0_Click

a condition que la Sub soit Public et non Private,
et... le formulaire appelé soit ouvert, bien sûr.


--
A+
Pierre (3stone) Access MVP





Avatar
3stone
Salut Raymond,

"Raymond"
| Je vois que je répond le contraire de toi...
<snip>


Viens tu reconnaître que tu ignorais que cela fonctionnait ??


MDR !!!


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Raymond
Non, mais je ne l'ai jamais utilisé et je ne veux pas l'utiliser et je n'en
parle pas. on ne s'arrange pas avec l'âge.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"3stone" a écrit dans le message de
news:3f993910$0$268$
Salut Raymond,

"Raymond"
| Je vois que je répond le contraire de toi...
<snip>


Viens tu reconnaître que tu ignorais que cela fonctionnait ??


MDR !!!