Petit pb :
J'ai un formulaire qui comporte une centaine de controles independant.
une maj sur n'importe lequels doit me déclencher une porocédure unique qqs
le controle cliqué.
Sachant que je ne veut pas me taper cent foit [procedure evenementielle] et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro qui
appelle ma proc.
Le pb, c'est que ma proc commune dois se trouver dans mon formulaire
(procedure locale) et est don invisible par ma macro
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
Il faut passer par une fonction public dans un module standard. Le passage par une fonction public d'un formulaire sur lui-même en access 2003 cause parfois des résultats assez surprenants mais pas du tout comiques pour l'utilisateur. dans ton module public tu peux récupérer immédiatement le formulaire actif ainsi que le contrôle actif et travailler comme si tu étais sur un formulaire. exemple: dans la propriété after_update des contrôles (sauf images et étiquettes), tu mets =fonctionCommune() dans ta fonction dans un module Public Function Commune() Dim ctl As Control Dim frm As Form Dim ctlname As String Dim frmname As String Set ctl = Screen.ActiveControl Set frm = Screen.ActiveForm ctlname = Screen.ActiveControl.Name frmname = Screen.ActiveForm.Name MsgBox ctl.Name & ";" & frm.Name ' suite de la procédure End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en bloc, tu sélectionnes tous les contrôles .
c'est une idée . -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" a écrit dans le message de news:409de718$0$434$
Petit pb : J'ai un formulaire qui comporte une centaine de controles independant. une maj sur n'importe lequels doit me déclencher une porocédure unique qqs le controle cliqué. Sachant que je ne veut pas me taper cent foit [procedure evenementielle] et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro qui
appelle ma proc. Le pb, c'est que ma proc commune dois se trouver dans mon formulaire (procedure locale) et est don invisible par ma macro
merci
Bonjour.
Il faut passer par une fonction public dans un module standard. Le passage
par une fonction public d'un formulaire sur lui-même en access 2003 cause
parfois des résultats assez surprenants mais pas du tout comiques pour
l'utilisateur.
dans ton module public tu peux récupérer immédiatement le formulaire actif
ainsi que le contrôle actif et travailler comme si tu étais sur un
formulaire.
exemple:
dans la propriété after_update des contrôles (sauf images et étiquettes), tu
mets =fonctionCommune()
dans ta fonction dans un module
Public Function Commune()
Dim ctl As Control
Dim frm As Form
Dim ctlname As String
Dim frmname As String
Set ctl = Screen.ActiveControl
Set frm = Screen.ActiveForm
ctlname = Screen.ActiveControl.Name
frmname = Screen.ActiveForm.Name
MsgBox ctl.Name & ";" & frm.Name
' suite de la procédure
End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en bloc,
tu sélectionnes tous les contrôles .
c'est une idée .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" <a@a.fr> a écrit dans le message de
news:409de718$0$434$636a15ce@news.free.fr...
Petit pb :
J'ai un formulaire qui comporte une centaine de controles independant.
une maj sur n'importe lequels doit me déclencher une porocédure unique qqs
le controle cliqué.
Sachant que je ne veut pas me taper cent foit [procedure evenementielle]
et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro
qui
appelle ma proc.
Le pb, c'est que ma proc commune dois se trouver dans mon formulaire
(procedure locale) et est don invisible par ma macro
Il faut passer par une fonction public dans un module standard. Le passage par une fonction public d'un formulaire sur lui-même en access 2003 cause parfois des résultats assez surprenants mais pas du tout comiques pour l'utilisateur. dans ton module public tu peux récupérer immédiatement le formulaire actif ainsi que le contrôle actif et travailler comme si tu étais sur un formulaire. exemple: dans la propriété after_update des contrôles (sauf images et étiquettes), tu mets =fonctionCommune() dans ta fonction dans un module Public Function Commune() Dim ctl As Control Dim frm As Form Dim ctlname As String Dim frmname As String Set ctl = Screen.ActiveControl Set frm = Screen.ActiveForm ctlname = Screen.ActiveControl.Name frmname = Screen.ActiveForm.Name MsgBox ctl.Name & ";" & frm.Name ' suite de la procédure End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en bloc, tu sélectionnes tous les contrôles .
c'est une idée . -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" a écrit dans le message de news:409de718$0$434$
Petit pb : J'ai un formulaire qui comporte une centaine de controles independant. une maj sur n'importe lequels doit me déclencher une porocédure unique qqs le controle cliqué. Sachant que je ne veut pas me taper cent foit [procedure evenementielle] et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro qui
appelle ma proc. Le pb, c'est que ma proc commune dois se trouver dans mon formulaire (procedure locale) et est don invisible par ma macro
merci
Freddy
Merci, je vais essayer, ça à l'air sympa !
"Raymond [mvp]" a écrit dans le message de news:%
Bonjour.
Il faut passer par une fonction public dans un module standard. Le passage par une fonction public d'un formulaire sur lui-même en access 2003 cause parfois des résultats assez surprenants mais pas du tout comiques pour l'utilisateur. dans ton module public tu peux récupérer immédiatement le formulaire actif ainsi que le contrôle actif et travailler comme si tu étais sur un formulaire. exemple: dans la propriété after_update des contrôles (sauf images et étiquettes), tu
mets =fonctionCommune() dans ta fonction dans un module Public Function Commune() Dim ctl As Control Dim frm As Form Dim ctlname As String Dim frmname As String Set ctl = Screen.ActiveControl Set frm = Screen.ActiveForm ctlname = Screen.ActiveControl.Name frmname = Screen.ActiveForm.Name MsgBox ctl.Name & ";" & frm.Name ' suite de la procédure End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en bloc,
tu sélectionnes tous les contrôles .
c'est une idée . -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" a écrit dans le message de news:409de718$0$434$
Petit pb : J'ai un formulaire qui comporte une centaine de controles independant. une maj sur n'importe lequels doit me déclencher une porocédure unique qqs
le controle cliqué. Sachant que je ne veut pas me taper cent foit [procedure evenementielle] et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro qui
appelle ma proc. Le pb, c'est que ma proc commune dois se trouver dans mon formulaire (procedure locale) et est don invisible par ma macro
merci
Merci, je vais essayer, ça à l'air sympa !
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:%23OvDbUaNEHA.1196@TK2MSFTNGP11.phx.gbl...
Bonjour.
Il faut passer par une fonction public dans un module standard. Le passage
par une fonction public d'un formulaire sur lui-même en access 2003 cause
parfois des résultats assez surprenants mais pas du tout comiques pour
l'utilisateur.
dans ton module public tu peux récupérer immédiatement le formulaire actif
ainsi que le contrôle actif et travailler comme si tu étais sur un
formulaire.
exemple:
dans la propriété after_update des contrôles (sauf images et étiquettes),
tu
mets =fonctionCommune()
dans ta fonction dans un module
Public Function Commune()
Dim ctl As Control
Dim frm As Form
Dim ctlname As String
Dim frmname As String
Set ctl = Screen.ActiveControl
Set frm = Screen.ActiveForm
ctlname = Screen.ActiveControl.Name
frmname = Screen.ActiveForm.Name
MsgBox ctl.Name & ";" & frm.Name
' suite de la procédure
End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en
bloc,
tu sélectionnes tous les contrôles .
c'est une idée .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" <a@a.fr> a écrit dans le message de
news:409de718$0$434$636a15ce@news.free.fr...
Petit pb :
J'ai un formulaire qui comporte une centaine de controles independant.
une maj sur n'importe lequels doit me déclencher une porocédure unique
qqs
le controle cliqué.
Sachant que je ne veut pas me taper cent foit [procedure evenementielle]
et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro
qui
appelle ma proc.
Le pb, c'est que ma proc commune dois se trouver dans mon formulaire
(procedure locale) et est don invisible par ma macro
Il faut passer par une fonction public dans un module standard. Le passage par une fonction public d'un formulaire sur lui-même en access 2003 cause parfois des résultats assez surprenants mais pas du tout comiques pour l'utilisateur. dans ton module public tu peux récupérer immédiatement le formulaire actif ainsi que le contrôle actif et travailler comme si tu étais sur un formulaire. exemple: dans la propriété after_update des contrôles (sauf images et étiquettes), tu
mets =fonctionCommune() dans ta fonction dans un module Public Function Commune() Dim ctl As Control Dim frm As Form Dim ctlname As String Dim frmname As String Set ctl = Screen.ActiveControl Set frm = Screen.ActiveForm ctlname = Screen.ActiveControl.Name frmname = Screen.ActiveForm.Name MsgBox ctl.Name & ";" & frm.Name ' suite de la procédure End Function
pour mettre =fonctionCommune() dans la propriété, tu peux procéder en bloc,
tu sélectionnes tous les contrôles .
c'est une idée . -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Freddy" a écrit dans le message de news:409de718$0$434$
Petit pb : J'ai un formulaire qui comporte une centaine de controles independant. une maj sur n'importe lequels doit me déclencher une porocédure unique qqs
le controle cliqué. Sachant que je ne veut pas me taper cent foit [procedure evenementielle] et
rentrer cent proc appelant ma procedure, j'ai pensé passer par une macro qui
appelle ma proc. Le pb, c'est que ma proc commune dois se trouver dans mon formulaire (procedure locale) et est don invisible par ma macro