Liste des containers d’une base Access
Dans une série d’articles récente, on a vu comment lister les différents types d’objets d’une base de données Access : les tables, requêtes, formulaires, états, macros, modules.
A part pour les tables (
TableDefs
) et les requêtes (QueryDefs
), vous avez pu voir que les noms des autres objets étaient obtenus par des « containers » spécifiques. D’où cette question : comment obtenir la liste des containers d’une base Access ?
Le principe
Si vous reprenez les bouts de code des articles précédents, vous verrez par exemple que le container Container("Forms")
contient des documents Containers("Forms").Documents
qui décrivent les formulaires.
Le code
Pour obtenir la liste des containers, il suffit de parcourir la collection Containers
. Voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 |
Function ListeContainers() Dim db As DAO.Database, container As DAO.container Set db = CurrentDb For Each container In db.Containers ' Informations sur le container Debug.Print StringFormat("Container = {0}, Documents = {1}", _ container.Name, container.Documents.Count) Next Set db = Nothing End Function |
Pour tester, ouvrez la fenêtre Exécution, et tapez-y :
1 |
? ListeContainers() |
et validez par[Entrée]
.
Les différents containers
Vous avez vu passer certains containers dans les articles précédents. 😉 Voici un résumé :
Nom du container | Description |
---|---|
DataAccessPages | Pages d’accès aux données (fonctionnalité abandonnée avec Access 2007). |
Databases | Bases de données |
Forms | Formulaires |
Modules | Modules |
Relationships | Relations |
Reports | Etats |
Scripts | Macros |
SysRel | Informations internes sur la fenêtre Relations |
Tables | Tables et requêtes |
L’exemple de code ci-dessus fait appel à la bibliothèque DAO (Microsoft DAO Object Library). Cette bibliothèque doit être associée à votre base de données pour que le programme fonctionne.Pour plus de détails sur les références, consultez cette page.
Recopiez également la fonction StringFormat()
, que vous trouverez sur cette page du site self-access.com. Sur la page citée, recopiez le premier bloc de code (les autres sont des exemples d’utilisation, pas utiles ici).