IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

[Débutant] Mettre a jour une base access depuis Word


Sujet :

VBA Word

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 44
    Points
    44
    Par défaut [Débutant] Mettre a jour une base access depuis Word
    Bonjour,

    Je souhaite depuis un courrier Word, ouvrir ma base Access, y ajouter un enregistrement et mette à jour ce dernier avec des variables saisies par un utlisateur dans un courrier Word (pour info, je ne peux changer la procédure ci-dessus qui est imposée par un traitement non modifiable).

    Est-ce possible et si oui comment faire ?

    Je n'ai pas trouvé la réponse dans les FAQs, mais dans la mesure où je viens juste de découvrir ce site, peut-être rien d'étonnant.

    Merci de votre aide

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

    tu pourrais utiliser une procedure de ce type :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub exportDonnees_Word_Vers_Access()
        'ajoute un enregistrement dans une table Access
        'necessite d'activer la reference
        'Microsoft ActiveX Data Objects x.x Library
        Dim Conn As ADODB.Connection
        Dim rsT As ADODB.Recordset
        Dim maTable As String
     
        Set Conn = New ADODB.Connection
        Set rsT = New ADODB.Recordset
     
        maTable = "Table1"
     
        With Conn
            .Provider = "Microsoft.JET.OLEDB.4.0"
            .Open "C:\MaBase_V01.mdb"
        End With
     
        With rsT
            .ActiveConnection = Conn
            .Open maTable, LockType:=adLockOptimistic
            .AddNew
            .Fields("Nom").Value = "Nom10"
            .Fields("PrixUnit").Value = 666
            .Fields("Matricule").Value = 12345
            .Update
        End With
     
        rsT.Close
        Conn.Close
    End Sub

    reste à comment l'utilisateur saisie les données afin d'adapter ces 3 lignes:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            .Fields("Nom").Value = "Nom10"
            .Fields("PrixUnit").Value = 666
            .Fields("Matricule").Value = 12345


    bonne soiree
    michel

  3. #3
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par SilkyRoad
    bonsoir

    tu pourrais utiliser une procedure de ce type :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub exportDonnees_Word_Vers_Access()
        'ajoute un enregistrement dans une table Access
        'necessite d'activer la reference
        'Microsoft ActiveX Data Objects x.x Library
        Dim Conn As ADODB.Connection
        Dim rsT As ADODB.Recordset
        Dim maTable As String
     
        Set Conn = New ADODB.Connection
        Set rsT = New ADODB.Recordset
     
        maTable = "Table1"
     
        With Conn
            .Provider = "Microsoft.JET.OLEDB.4.0"
            .Open "C:\MaBase_V01.mdb"
        End With
     
        With rsT
            .ActiveConnection = Conn
            .Open maTable, LockType:=adLockOptimistic
            .AddNew
            .Fields("Nom").Value = "Nom10"
            .Fields("PrixUnit").Value = 666
            .Fields("Matricule").Value = 12345
            .Update
        End With
     
        rsT.Close
        Conn.Close
    End Sub

    reste à comment l'utilisateur saisie les données afin d'adapter ces 3 lignes:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            .Fields("Nom").Value = "Nom10"
            .Fields("PrixUnit").Value = 666
            .Fields("Matricule").Value = 12345


    bonne soiree
    michel
    bonjour,

    je te remercie pour le code communiqué, j'ai mis en pratique, ça marche nickel et en plus c'est totalement transparent pour les utilisateurs.

    Merci encore

    Patrick

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IP-2003] mettre a jour une base de données access 2003
    Par EFFLYINGJOKER dans le forum InfoPath
    Réponses: 1
    Dernier message: 27/11/2009, 22h40
  2. Mise a jour d'une Base Access depuis fichier CSV sous IDE DEplphi
    Par LE MAHJONG dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/10/2008, 19h42
  3. Réponses: 4
    Dernier message: 15/01/2008, 16h36
  4. Mettre à jour une base de données depuis un pc
    Par Death83 dans le forum MATLAB
    Réponses: 11
    Dernier message: 12/11/2006, 17h58
  5. Impossible d'ouvrir une base Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 8
    Dernier message: 14/12/2005, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo