Création champ dans table Access

[Résolu]
Signaler
Messages postés
2
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
23 février 2007
-
Messages postés
2
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
23 février 2007
-
Bonjour,

J'ai une base de taux qui s'alimente tous les jours sur un onglet Excel.
Via une macro VBA je transfère ces données vers une base Table Access.

Le problème est que des nouveaux taux arrivent dans ma base de temps en temps et je n'arrive pas à mettre en place un programme VBA me permettant d'ajouter un champ à une table existante sous Access.

Tous les forums parlent de création de tables et création de champs mais pas d'ajout.

Y a-t-il moyen de le faire?

Ci-dessous je laisse le développement qui ne fonctionne pas :

Dim Connex As ADODB.Connection, Rec As ADODB.Recordset, Compt As Long

' Connection à la base Access
Set Connex = New ADODB.Connection
    Connex.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
        "Data Source=V:\Taux_monetaires\Base_Taux.mdb;"
       
' Création enregistrement dans la table Tbl_Euribor
Set Rec = New ADODB.Recordset
    Rec.Open "Tbl_Euribor", Connex, adOpenKeyset, adLockOptimistic, adCmdTable
 
        With Rec
            .Field.Append("Taux_Btan_New")            
         End With

    Rec.Close
    Set Rec = Nothing
    Connex.Close
    Set Connex = Nothing

D'avance merci.

 SDU95

2 réponses

Messages postés
2
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
23 février 2007

Merci pour ta réponse.

Je n'ai pas encore tenté les instructions SQL mais je mets ça dans mes explorations futures.

En revanche après bien des déboires et des tests, j'ai enfin trouvé la solution (toute bête quand on voit le code).

Je laisse le code si cela intéresse quelqu'un.

' Ajout d'un champ dans une table Access Existante
Dim Chp As dao.Field
Dim dbsBase As dao.Database, accTable As dao.TableDef



Set dbsBase = dao.OpenDatabase("V:\Taux_monetaires\Copie_Base_Taux.mdb")
Set accTable = dbsBase.TableDefs("tbl_Btan_Matrice")
Set Chp = accTable.CreateField("Nouveau_Champ", dbDate)

' Ajout du champ
accTable.Fields.Append Chp

dbsBase.Close





 SDU95
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
1
Il existe des instructions SQL pour cela.   Lance Google avec comme mots cléfs "ALTER TABLE".   Tu peux ajouter des champs, en supprimer, renommer, changer le type de données, ...

Christophe