Je souhaiterais lister les tables contenues dans une base Access. J'ai trouvé sur le site une procédure qui me le permet mais uniquement à partir de tables liées (application en mode utilisateur par Billy Morgan). Je ne parviens pas à utiliser cette procédure pour des tables non liées (base mono-utilisateur). Pourriez-vous m'aider ?
Le code pour lister les tables liées :
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 'Déclaration des variables Dim dbBase As DAO.Database Dim tbdTables As DAO.TableDef Dim rst As DAO.Recordset 'Instancie la base courante Set dbBase = CurrentDb 'Charge la table dans le Recordset rst Set rst = dbBase.OpenRecordset("TblTablesAttachees", dbOpenDynaset) 'Inhibe les msg d'alertes DoCmd.SetWarnings False 'Vide les tables contenant la liste des tables attachées DoCmd.RunSQL "DELETE * FROM TblTablesAttachees;" 'Boucle parcourant toutes les tables de la base en cours For Each tbdTables In dbBase.TableDefs 'Teste l'attribut de la table pour savoir si c'est une table liée If tbdTables.Attributes And dbAttachedTable Then rst.AddNew 'Ajoute un enregistrement rst!TablesAttachees = tbdTables.Name 'Ajoute la table dans le champ rst.Update 'Mise à jour End If Next tbdTables 'Mise à jour du Recordset après ajout des tables rst.Requery 'Teste la position du pointeur si il ne se situe pas en début de table If Not rst.BOF Then rst.MoveFirst 'Déplacement du pointeur sur le premier enregistrement End If
Partager