Création champ dans table Access

Résolu
SDU95 Messages postés 2 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 23 février 2007 - 20 févr. 2007 à 15:46
SDU95 Messages postés 2 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 23 février 2007 - 23 févr. 2007 à 08:40
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

SDU95 Messages postés 2 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 23 février 2007
23 févr. 2007 à 08:40
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
3
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
22 févr. 2007 à 21:38
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
0
Rejoignez-nous