Le premier site francophone dédié au développement Pocket PC


Comment lister les tables d'une base de données avec ADO ?
 
   
Une base de données est composée de tables. Il peut être parfois utile de dresser la liste de toutes les tables d'une base, à des fin de maintenance ou d'auto adaptation de l'application.

Nous allons partir du principe que le chemin de la base de données dont nous voulons lister les tables est '\My Documents\Essai.cdb'

Etape 1

Cocher la librairie ADO dans la liste des références du projet.

Etape 2

Nous devons instancier un objet ADOCE.Connection et l'ouvrir pour qu'il travaille avec notre base de données de test :

Dim wConnection as ADOCE.Connection

Rem On instancie l'objet Connection
Set wConnection = CreateObject("ADOCE.Connection.3.0")

Rem On ouvre l'objet Connection avec en paramètre le chemin de la base de données
Call wConnection.Open("\My Documents\Essai.cdb")

Etape 3

Nous devons instancier un objet ADOCE.Recordset, puis l'ouvrir avec comme requête d'ouverture le nom d'une table système qui contient la liste des tables de la base de données (c'est ça le secret !)

Dim wRecordset as ADOCE.Recordset

Set wRecordset = CreateObject("ADOCE.Recordset.3.0")
call wRecordset.Open("MSysTables", wConnection, adLockOptimistic)

Etape 5

Il ne nous reste plus qu'à parcourir le recordset pour lister toutes les tables de la base de données. Nous partons du principe que la Feuille qui exécute ce code contient une ListBox nommée List1 que nous allons charger avec le nom de toutes les tables de la base de données.

Dim NombreEnregs As Long
Dim i as Long

Rem On récupère le nombre d'enregistrement dans le recordset
NombreEnregs = wRecordset.RecordCount

Rem On passe chaque enregistrement en revue pour récupérer le nom de
Rem chaque table
For i = 1 to NombreEnregs
Call List1.AddItem(wRecordset.Fields("TableName").Value)
Call wRecordset.MoveNext
Next

Et voilà, c'est aussi simple que ça !

 

Stéphane Sibué

 


 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.