Comment supprimer un champ d'une table d'une base de données ?
La première solution possible consiste à 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,
cliquez sur le menu "Projet/Références...". Dans la liste des
références disponibles, sélectionnez "Microsoft ADO Ext. 2.X for DDL and
Security". Vous pouvez maintenant essayer l'exemple suivant qui supprime un
champ d'une table d'une base de données existante :
Option Explicit
Private Sub Form_Load()
Dim cat As ADOX.Catalog
Set cat = 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 du champ
cat.Tables("Table1").Columns.Delete
"Champ1"
Set cat = Nothing
End Sub
La deuxième solution possible est d'exécuter une requête SQL
"ALTER TABLE". Dans ce cas, il est inutile d'employer le modèle
objet ADOX, les requêtes SQL pouvant être exécutées 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, cliquez sur le menu "Projet/Références...".
Dans la liste des références disponibles, sélectionnez "Microsoft
ActiveX Data Objects 2.X Library". Vous pouvez maintenant essayer le code
suivant qui réalise exactement la même chose que l'exemple précédent :
Option Explicit
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 du champ
cnn.Execute "ALTER TABLE Table1 DROP Champ3"
cnn.Close
Set cnn = Nothing
End Sub
Remarque : avant de supprimer un champ vous devez d'abord supprimer les index
correspondants.
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. |