Comment supprimer une table d'une base de données avec ADO ?
La première solution est d'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).
Dans ce cas, il faut d'abord 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 l'exemple suivant qui supprime,
d'une base de donnée existante, la table "Table1".
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"
' Suppression de la table "Table1"
cat.Tables.Delete ("Table1")
Set cat = Nothing
End Sub
La deuxième solution possible est d'exécuter une requête SQL "DROP
TABLE". Dans ce cas, il est inutile d'employer le modèle objet ADOX, les
requêtes SQL pouvant être exécutée en employant le modèle objet ADODB.
Si ce n'est déjà fait, n'oubliez-donc pas de rajouter une référence à
ADODB. Pour ce faire, cliquer sur le menu "Projet/Références...".
Dans la liste des références disponibles, sélectionnez "Microsoft
ActiveX Data Objects 2.1 Library". Vous maintenant essayer le code suivant
qui réalise exactement la même chose que l'exemple précédent :
Private Sub Form_Load()
Dim cnn As New ADODB.Connection
' Connexion à la base de donnée
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Mes Documents\MyDataBase.mdb"
' Suppression de la table "Table1"
cnn.Execute "DROP TABLE Table1"
cnn.Close
Set cnn = Nothing
End Sub
Si vous désirez plus d'informations sur ADOX et ADODB, lisez les excellents
technopoches consacrés à ces technologies et qui sont disponibles à l'adresse
suivante : http://www.microsoft.com/france/msdn/support/technopoches/default.asp. |