Rajouter un champs ds BDD

leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007 - 19 nov. 2002 à 13:28
carnez Messages postés 120 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 2 août 2004 - 27 nov. 2002 à 08:53
Bonjour, j'utilise la méthode ADO et je voudrais rajouter un champs à une base de données dynamiquement, j'utilise alors rsADO.Fields.Append mais une erreur se produit :
INTERDIT DANS LE CONTEXTE
Faut-il que je modifie ma façon d'ouvrir la base ?

1 réponse

carnez Messages postés 120 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 2 août 2004
27 nov. 2002 à 08:53
bonjour,

tout dépend, mais pour ajouter un champ dans une table, il faut passer par le catalogue :

dim Cat as new adox.catalog
dim Tbl as new adox.table
dim Col as new adox.column

' chaîne de connexion à ta base
cat.activeconnection = ..........

with Col
.Name = "nom_de_ton_champ_à_ajouter"
.Type = adInteger ' type de données texte par ex.
Set .parentcatalog = Cat
.Properties("autoincrement") = True
End with

' Properties ne fonctionne pas si on n'a pas auparavant associé le parentcatalog au catalogue en cours

Cat.Tables("nom_de_la_table").Columns.Append Col

set Cat = nothing

Avec ça, tu devrais t'en tirer. Tu vois qu'on ne passe pas par Fields. Fields est plus une notion de cellule, donc de champ DANS un enregistrement, Column est une notion de colonne, donc de champ pour une table complète.

J'espère t'avoir aidé.

Bon courage

oiseau
0
Rejoignez-nous