Appel de procédure évenementielle

Le
cmoi
Bonjour,

J'ai le code suivant:

Private Sub Fonction_AfterUpdate()
Majuscule
End Sub

Private Sub Description_AfterUpdate()
Majuscule
End Sub

Function Majuscule()
'Mise en majuscule du premier caractère d'un champ
Me.ActiveControl = UCase(Left$(Me.ActiveControl, 1)) &
Right$(Me.ActiveControl, Len(Me.ActiveControl) - 1)
End Function

Pour éviter d'avoir à répéter Private Sub xxxx_AfterUpdate() pour chaque
contrôle, je voudrais appeler directement la fonction Majuscule dans la
propriété Evènement. Est-ce possible?

Merci pour votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #22334131
Salut,

cmoi wrote:
Bonjour,

J'ai le code suivant:

Private Sub Fonction_AfterUpdate()
Majuscule
End Sub

Private Sub Description_AfterUpdate()
Majuscule
End Sub

Function Majuscule()
'Mise en majuscule du premier caractère d'un champ
Me.ActiveControl = UCase(Left$(Me.ActiveControl, 1)) &
Right$(Me.ActiveControl, Len(Me.ActiveControl) - 1)
End Function

Pour éviter d'avoir à répéter Private Sub xxxx_AfterUpdate() pour
chaque contrôle, je voudrais appeler directement la fonction
Majuscule dans la propriété Evènement. Est-ce possible?




Et, à ton avis, qu'est-ce d'autre :

Private Sub Fonction_AfterUpdate()

que la Sub de l'événement AfterUpdate() de la zone de texte Fonction ??

Si tu souhaites le faire "en une fois", regarde l'événement
Après mise à jour (AfterUpdate) du formulaire...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
cmoi
Le #22338801
Justement, je voudrais écrire directement le nom de la fonction Majuscule()
dans la propriété évènement 'après MAJ de chaque champ du formulaire, putôt
que d'écrire 15 fonctions xxx_AfterUpdate qui appellent toutes la fonction
Majuscule(). Malheureusement ça ne marche pas ou alors c'est que je fais une
erreur quelque part. Si j'écris directement Majuscule() dans la propriété,
j'obtiens un message "Microsoft Access ne peut pas trouver la macro
'Majuscule()'" Cette fonction dans le code et non pas dans les macros.

"3stone" i0vjnn$dv6$
Salut,

cmoi wrote:
Bonjour,

J'ai le code suivant:

Private Sub Fonction_AfterUpdate()
Majuscule
End Sub

Private Sub Description_AfterUpdate()
Majuscule
End Sub

Function Majuscule()
'Mise en majuscule du premier caractère d'un champ
Me.ActiveControl = UCase(Left$(Me.ActiveControl, 1)) &
Right$(Me.ActiveControl, Len(Me.ActiveControl) - 1)
End Function

Pour éviter d'avoir à répéter Private Sub xxxx_AfterUpdate() pour
chaque contrôle, je voudrais appeler directement la fonction
Majuscule dans la propriété Evènement. Est-ce possible?




Et, à ton avis, qu'est-ce d'autre :

Private Sub Fonction_AfterUpdate()

que la Sub de l'événement AfterUpdate() de la zone de texte Fonction ??

Si tu souhaites le faire "en une fois", regarde l'événement
Après mise à jour (AfterUpdate) du formulaire...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

3stone
Le #22339431
re,

cmoi wrote:
Justement, je voudrais écrire directement le nom de la fonction
Majuscule() dans la propriété évènement 'après MAJ de chaque champ du
formulaire, putôt que d'écrire 15 fonctions xxx_AfterUpdate qui
appellent toutes la fonction Majuscule(). Malheureusement ça ne
marche pas ou alors c'est que je fais une erreur quelque part. Si
j'écris directement Majuscule() dans la propriété, j'obtiens un
message "Microsoft Access ne peut pas trouver la macro 'Majuscule()'"
Cette fonction dans le code et non pas dans les macros.



Là ou tu veux le placer, on ne peut que :
- soit appeler une macro (macro commande)
- soit appeler une fonction

dans ton cas, tu pourrais appeler ta fonction...

Le mieux, c'est d'utiliser une fonction plus complète pour
faire ce que tu recherches :
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Capitaliser

que tu peux d'ailleurs combiner avec cette méthode:
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Tag

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
cmoi
Le #22339971
Merci pour toutes ces informations.

"3stone" i14i71$goi$
re,

cmoi wrote:
Justement, je voudrais écrire directement le nom de la fonction
Majuscule() dans la propriété évènement 'après MAJ de chaque champ du
formulaire, putôt que d'écrire 15 fonctions xxx_AfterUpdate qui
appellent toutes la fonction Majuscule(). Malheureusement ça ne
marche pas ou alors c'est que je fais une erreur quelque part. Si
j'écris directement Majuscule() dans la propriété, j'obtiens un
message "Microsoft Access ne peut pas trouver la macro 'Majuscule()'"
Cette fonction dans le code et non pas dans les macros.



Là ou tu veux le placer, on ne peut que :
- soit appeler une macro (macro commande)
- soit appeler une fonction

dans ton cas, tu pourrais appeler ta fonction...

Le mieux, c'est d'utiliser une fonction plus complète pour
faire ce que tu recherches :
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Capitaliser

que tu peux d'ailleurs combiner avec cette méthode:
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Tag

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

Publicité
Poster une réponse
Anonyme