Access 2010: Quel contrôle de formulaire déclenche une macro?

Je travaille sur une base de données existante. Plus précisément, changer un rapport. J'ai identifié les requêtes/tables sur lesquelles le rapport est basé. Une des tables a toutes les caractéristiques d'être une table de temprary générée par une macro dont il y a beaucoup de douzaines.

J'ai été capable d'identifier la requête Ajouter qui génère la table et la macro qui exécute la requête. Maintenant, je voudrais trouver quel événement de formulaire déclenche cette macro. Est-ce qu'il fonctionne chaque fois que le rapport est généré ou une fois par semaine ou une fois par trimestre ou ... Il n'y a rien dans la macro derrière le "bouton" qui imprime le rapport et aucun événement n'est déclenché dans le rapport.

Je peux itérer sur chaque contrôle sous toutes ses formes, mais quelle propriété suis-je en train de chercher? Toute indication de pointeur/mot-clé serait appréciée, merci.

0
Le premier, sur l'onglet macros. Il y a très peu de vba, seulement utilisé dans quelques modules Form. Il semble que l'un des mainteneurs précédents avait un penchant pour eux.
ajouté l'auteur wfsp, source
Quand vous dites macro, voulez-vous dire qu'il y a plusieurs macros sauvegardées dans l'onglet macros, ou voulez-vous dire le code VBA enregistré dans les modules?
ajouté l'auteur Fionnuala, source
Je pense que vous devriez être capable de chercher le nom de la macro dans l'événement click des boutons de commande.
ajouté l'auteur Fionnuala, source

1 Réponses

Quelques notes, il sera plus facile de trouver le bouton correspondant quand vous avez le nom de la macro:

Sub FindMacros()
For Each f In CurrentProject.AllForms
    DoCmd.OpenForm f.Name, acDesign

    Set frm = Forms(f.Name)
    For Each ctl In frm.Controls
        If ctl.ControlType = acCommandButton Then
            Debug.Print ctl.OnClick
        End If
    Next

    DoCmd.Close acForm, f.Name, acSaveNo
Next
End Sub
0
ajouté
Spot on, merci beaucoup. Je sais maintenant quel bouton sur quelle forme, exactement ce que j'étais après. Encore une fois, merci beaucoup.
ajouté l'auteur wfsp, source
@MattDonnan Utile pour les contrôles de construction, aussi. Vous pouvez définir différents événements pour vos fonctions standard, par exemple = AFunction ([Form]] sur une ligne d'événement passera l'objet formulaire actuel à AFunction.
ajouté l'auteur Fionnuala, source
+1 Belle petite procédure ^ _ ^
ajouté l'auteur Matt Donnan, source