Question 70

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

Date de publication : 14 juillet 2002
Dernière modification : 09 octobre 2002
Rubriques : Bases de données
Mots-clés : base de données, tables, existence, tester, vérifier, ADO, ADOX