leptidev
Messages postés206Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 décembre 2007
-
19 nov. 2002 à 13:28
carnez
Messages postés120Date d'inscriptionjeudi 31 octobre 2002StatutMembreDerniè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 ?
carnez
Messages postés120Date d'inscriptionjeudi 31 octobre 2002StatutMembreDerniè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.