Connaitre les tables d'une base Access

Résolu
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 - 3 sept. 2005 à 11:42
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 - 3 sept. 2005 à 13:31
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 sept. 2005 à 11:51
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
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
3 sept. 2005 à 11:55
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 ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 sept. 2005 à 13:01
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/
0
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
3 sept. 2005 à 13:31
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.
0
Rejoignez-nous