Connaitre les tables d'une base Access [Résolu]

Signaler
Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
25 juillet 2007
-
Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
25 juillet 2007
-
Bonjour.

Quelqu'un pourrait-il me donner le code permettant de connaitre la liste des tables et requêtes contenues dans une base Acces ? Et y a-t-il un moyen de différencier les tables des requêtes ?

Merci d'avance pour votre aide.

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Utilise ADOX pour lister la structure d'une base de données.



Pour les tables :

Set m_oConnection = New ADODB.Connection

Set m_oCatalog = New ADOX.Catalog

Let m_oConnection.Mode = adModeUnknown

Let m_oConnection.Provider = "Microsoft.Jet.OLEDB.4.0"

Let m_oConnection.ConnectionString = sDataBaseName

Call m_oConnection.Open

Set m_oCatalog.ActiveConnection = m_oConnection



'on énumère chaque table de la base

For Each oTable In m_oCatalog.Tables



If oTable.Type = "TABLE" Then



'il s'agit d'une table



end if



Next oTable

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
25 juillet 2007
1
Merci mais j'ai un élément type non définit : Set m_oCatalog = New ADOX.Catalog

Que dois-je rajouter comme référence ou composant ?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Il faut rajouter les références à ADODB et ADOX :

Microsoft ActiveX Data Objects
Microsoft ADO Ext.


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
25 juillet 2007
1
Oui, j'ai trouvé finalement. Et ça fonctionne parfaitement.

Pour mémoire, les requêtes sont en type "VIEW".

Et je suppose qu'il faut faire "m_oConnection.Close" pour fermer la connection.

@+ et bonne continuation.