Bonjour,

J'utilise une fonction du forum pour remonter les noms des tables d'une base Access. Elle fonctionne très bien cependant je suis étonné de trouver un listing sous debug.print qui contienne 11 tables que je qualifirais de système ?
Voici un extrait de la remontée en Debug :

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
 
Tables : MSysAccessStorage Champs : DateCreate
Tables : MSysAccessStorage Champs : DateUpdate
Tables : MSysAccessStorage Champs : Id
Tables : MSysAccessStorage Champs : Lv
Tables : MSysAccessStorage Champs : Name
Tables : MSysAccessStorage Champs : ParentId
Tables : MSysAccessStorage Champs : Type
Tables : MSysACEs Champs : ACM
Tables : MSysACEs Champs : FInheritable
Tables : MSysACEs Champs : ObjectId
Tables : MSysACEs Champs : SID
Tables : MSysComplexColumns Champs : ColumnName
Tables : MSysComplexColumns Champs : ComplexID
Tables : MSysComplexColumns Champs : ComplexTypeObjectID
Tables : MSysComplexColumns Champs : ConceptualTableID
Tables : MSysComplexColumns Champs : FlatTableID
Tables : MSysNavPaneGroupCategories Champs : Filter
Tables : MSysNavPaneGroupCategories Champs : Flags
Tables : MSysNavPaneGroupCategories Champs : Id
Tables : MSysNavPaneGroupCategories Champs : Name
Tables : MSysNavPaneGroupCategories Champs : Position
Tables : MSysNavPaneGroupCategories Champs : SelectedObjectID
Tables : MSysNavPaneGroupCategories Champs : Type
Tables : MSysNavPaneGroups Champs : Flags
Tables : MSysNavPaneGroups Champs : GroupCategoryID
Tables : MSysNavPaneGroups Champs : Id
Tables : MSysNavPaneGroups Champs : Name
Voici la fonction utilisée :

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
 
'Objets Access
Dim Db As DAO.Database
'Table visée
Dim tbd As DAO.TableDef
'Collection des champs
Dim fld As DAO.Field
 
Set Db = CurrentDb
' Recherche la table dans la "collection" de tables
For Each tbd In Db.TableDefs
    For Each fld In tbd.Fields
    Debug.Print "Tables : " & tbd.Name & " Champs : " & fld.Name
    Next fld
Next tbd
Ce problème me complique la vie car je voulais extraire les Tables et leurs champs mais ces tables "non personnelles" brouillent le paysage" d'autre part, je serai peut être moins bête avec une réponse !
Bien cordialement.