Ce que je veux dire par appel comme un sous-programme est que je veux
pouvoir ouvrir, depuis une dizaine de formulaires différents mais très
semblables, disons F1, F2, ... FX, un même formulaire SP et à l'issue
de l'utilisation de ce formulaire SP, revenir dans le formulaire FX qui
l'a appelé. Ceci pour éviter d'avoir à créer autant de formulaires
SP¨différents, d'autant que ce formulaire SP est basé sur une requête,
comprend un sous-formulaire, etc, qu'il faudrait multiplier.
Dans le formulaire SP ( le "sous-programme"), après traitement, on
peut, suivant les cas:
- soit revenir au formulaire FX appelant : là c'est simple, il suffit de
fermer SP pour se retrouver dans le FX appelant.
- soit , avant de fermer SP, modifier des élements du formulaire FX
appelant :
- changer la propriété DataEntry du formulaire FX
- changer la propriété Visible d'une zone de
texte ZONE du formulaire FX , sachant que chaque formulaire FX
différent contient une zone de texte de nom ZONE .
Il faut donc qu'à l'appel de SP par chaque FX, on puisse transmettre à
SP le nom du formulaire FX appelant afin de pouvoir accéder à
Forms![NomFX].DataEntry et à Forms![NomFX]![ZONE].Visible.
J'ai fait des tentatives en passant comme paramètre le symbole Me,
mais pour l'instant, je n'ai pas réussi à le faire fonctionner. Ce
serait surement la solution la plus élégante car le code serait alors le
même dans tous les FX.
Je suis en train d'essayer la solution suivante : à l'appel de SP
depuis FX, stocker le nom de FX dans une zone de texte de SP pour
pouvoir y accéder depuis SP; je n'ai pas encore pu faire le test pour
des raisons annexes.
Est-ce quelqu'un aurait une solution à me suggérer pour passer le nom du
formulaire ?
Dim strFormName As String If Not IsNull(Me.OpenArgs) then strFormName = Me.OpenArgs End If
ensuite tes commandes... Forms(strFormName).turlututu ;-)
-- 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 ) -------------------------------------------------------
Allo... Maurice ;-)
"Maurice KRAIT"
| Est-ce quelqu'un aurait une solution à me suggérer pour passer le nom du
| formulaire ?
Dim strFormName As String
If Not IsNull(Me.OpenArgs) then
strFormName = Me.OpenArgs
End If
ensuite tes commandes...
Forms(strFormName).turlututu ;-)
--
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 )
-------------------------------------------------------
Dim strFormName As String If Not IsNull(Me.OpenArgs) then strFormName = Me.OpenArgs End If
ensuite tes commandes... Forms(strFormName).turlututu ;-)
-- 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 ) -------------------------------------------------------