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 Access Discussion :

Envoyer les données dans un document Word


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 145
    Points : 61
    Points
    61
    Par défaut Envoyer les données dans un document Word
    Bonjour,

    J'aimerai, en cliquant sur un bouton, envoyer les données de l'enregistrement en cours de consultations.

    J'ai trouvé ce petit tuto : http://heureuxoli.developpez.com/publipostage/

    Et voici ce que j'ai fait :

    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
    32
    Sub MergeBM()
        Dim wApp As word.Application
        Dim chemin As String
        Dim rs As DAO.Recordset
        Dim db As DAO.Database
        Dim sql As String
        sql = "SELECT * from T_BonDeCommande"
        chemin = "C:\data\Comm&Mark\MIA"
     
        Set db = CurrentDb
        Set rs = db.OpenRecordset(sql)
        Set wApp = New word.Application
            chemin = CurrentProject.Path
        wApp.Visible = True
     
        While Not rs.EOF
        With wApp
            .Documents.Open (chemin & "\DIC.doc")
            .ActiveDocument.Bookmarks("nom").Range.Text = rs.Fields("marche")
            .ActiveDocument.Bookmarks("prenom").Range.Text = rs.Fields("description")
            .ActiveDocument.PrintOut
            .ActiveDocument.Close (wdDoNotSaveChanges)
        End With
        rs.MoveNext
        Wend
        rs.Close
        Set rs = Nothing
        db.Close
        Set db = Nothing
     
        Set wApp = Nothing
    End Sub
    J'ai donc ajouté un boutons dans mon formulaire qui exécute ce code, le soucis est que pour l'instant il me sort tout les enregistrements ! Logique avec sql = "SELECT * from T_BonDeCommande"

    Mais donc ma question est comment faire en sorte que ça ne concerne que l'enregistrement actuellement affiché sur le formulaire ?

    Je pensait peut être à un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = "SELECT * from T_BonDeCommande WHERE noBDC = Me.noBDC"

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,
    La bonne syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * from T_BonDeCommande WHERE noBDC =" & Me.noBDC
    Si noBDC est une chaîne de caractères, il faut l'entourer de guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * from T_BonDeCommande WHERE noBDC ='" & Me.noBDC & "'"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * from T_BonDeCommande WHERE noBDC =""" & Me.noBDC & """"
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Il s'agit d'un int (clé primaire auto-incrémentée)

    J'ai un message d'erreur :s

    Nom : me.jpg
Affichages : 117
Taille : 119,1 Ko

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Ah bah oui lol, tu es dans un module Me faisant référence au module dans lequel on se trouve, ça ne peut pas marcher ^^
    Dans ce cas, la syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * from T_BonDeCommande WHERE noBDC =" & Forms("nomDeTonFormulaire").noBDC
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  5. #5
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Magnifique ! Merci !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/09/2009, 11h42
  2. Réponses: 1
    Dernier message: 29/08/2006, 17h03
  3. Réponses: 4
    Dernier message: 09/07/2006, 14h41
  4. [VBA-E]Formulaire word, récupérer les données dans excel
    Par sablier dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 30/05/2006, 07h38

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