Comment vérifier l'existence d'une table dans une base de données avec ADO ?
Il faut employer le modèle objet ADOX qui est consacré à la structure des
bases de données (le modèle objet ADODB étant lui consacré à la gestion de
données).
La première chose à faire est donc de rajouter une référence à ADOX.
Pour ce faire, cliquer sur le menu "Projet/Références...". Dans la
liste des références disponibles, sélectionnez "Microsoft ADO Ext. 2.1
for DDL and Security". Vous pouvez maintenant essayer la fonction suivante
qui vérifie l'existence d'une table :
Public Function TableExists(cat As ADOX.Catalog, TableName As String) As
Boolean
Dim tbl As ADOX.Table
' Enumère toutes les tables du catalogue
For Each tbl In cat.Tables
If tbl.Name = TableName Then
TableExists =
True
Exit For
End If
Next
Set tbl = Nothing
End Function
Private Sub Form_Load()
Dim cat As New ADOX.Catalog
' Connexion à la base de donnée
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Mes Documents\MyDataBase.mdb"
MsgBox TableExists(cat, "Table1")
Set cat = Nothing
End Sub |