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

Access Discussion :

Liaison automatisée access word


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Liaison automatisée access word
    Bonjour,
    Je cherche le code pour automatiser une liaison de access vers word.
    J'ai une requête qui est paramétrée par des choix d'un utilisateur. Je voudrais introduire cette requête dans une lettre (publipostage word).
    je voudrais automatiser l'ouverture de word la fusion et le publipostage et l'impression de la lettre.
    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Le contraire est beaucoup plus facile à faire, tu ouvre word et tu fais ton publipostage. Word possède des assistants qui vont bien.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,

    Sauf besoins spécifiques , je dirais même plus que Heureux-oli, les états sont encore plus simples à réaliser...
    Bon alors au cas où :
    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
     
    Const WDOC = "le chemin du fichier"
    Dim wdApp as Word.Application
     
    Set wdApp = New Word.Application
    With wdApp
    .Visible = False
    .Documents.Open WDOC
    .ActiveDocument.MailMerge.OpenDataSource Name := "le chemin de la base", SQLStatement :="SELECT * FROM [LaRequête]"
    .ActiveDocument.MailMerge.Destination = wdSendToPrinter
    .ActiveDocument.MailMerge.Execute
    .ActiveDocument.Close wdDoNotSaveChanges
    End With
    wdApp.Quit
    Set wdApp = Nothing
    Préalablement, il faut préparer le publipostage dans Word avec l'assistant Fusion et publipostage...

    Le code masque Word et envoie le résultat du publipostage vers l'imprimante sans sauvegarder le document...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre aide.
    Je n'ai pas réussi à faire ce que je voulais et je me vois contraite d'y renoncer.
    C'est vrai qu'un état n'est pas difficile à concevoir. Mais je devais introduire des données provenants d'une requête.Le texte et la mise en page du contrat dans lequel ces données devaient être introduite était plutôt "compliqué". C'est pour ça que j'avais opté pour un document word.

  5. #5
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Citation Envoyé par lapinours
    Merci pour votre aide.
    Le texte et la mise en page du contrat dans lequel ces données devaient être introduite était plutôt "compliqué". C'est pour ça que j'avais opté pour un document word.
    C'est souvent la raison (pour ce qui me concerne) pour laquelle je pense d'abord à Word...puis en réfléchissant une peu...on se rend compte que l'état est capable de faire des trucs pas possibles...surtout après avoir travaillé avec le publipostage qui pose de sérieux problèmes de performances...
    ça mérite d'y réfléchir...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 886
    Points : 4 765
    Points
    4 765
    Par défaut
    Bonjour,
    pour ma part j'utilise pour la plus grande satifaction de mes utilisateurs le publipostage, lancé depuis Access.
    Il faut préalablement que l'utilisateur ait un document type dejà fusionné (ici : sFichModele , en chemin absolu) avec une occurence antérieure de la RQ rtmp_orgCorr :

    voici mon code
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Dim stLinkCriteria As String, strSql As String, sFichModele As String
    Dim maBD As DAO.Database
    Dim strRQ1 As String
    Dim QDF1 As DAO.QueryDef
    Dim QDF2 As DAO.QueryDef
    Dim rst1 As DAO.Recordset, rst2 As DAO.Recordset
    Dim wrdApp As Word.Application   'en ref: Microsoft Word Object library 9,0
    Dim stDocName As String
    '********************************************************
    ' Sélection du document type
    '********************************************************
    ...
    Debug.Print sFichModele
     
    '********************************************************
    Set maBD = CurrentDb
    '********************************************************
    Set QDF1 = maBD.QueryDefs("rq_OrgCorr")
    'MsgBox "qdf:" & vbCr & qdf.SQL
    stLinkCriteria = addCritere
    'MsgBox "stLinkCriteria " & vbCr & stLinkCriteria
     
    strRQ1 = Left(QDF1.SQL, Len(QDF1.SQL) - 3) & " WHERE " & stLinkCriteria
    'on doit retirer un certain nb de car (dont ;) à la& fi de QDF.SQL
    'MsgBox " requete avec les criteres: " & vbCr & strRQ1
     
    Set rst2 = maBD.OpenRecordset(strRQ1)
    If rst2.RecordCount > 0 Then
        If ExistQuery("rtmp_orgCorr") Then maBD.QueryDefs.Delete ("rtmp_orgCorr")
        Set QDF2 = maBD.CreateQueryDef("rtmp_orgCorr", strRQ1)
     
        Set wrdApp = CreateObject("Word.Application")
        With wrdApp
            .Visible = True
     
            'ouvrir le document
            .Documents.Open sFichModele
     
            'diriger le pblg vers un autre document
            .ActiveDocument.MailMerge.Execute
     
        End With
     
    Else        ' no record found
        MsgBox "Aucun enregistrement ne correspond aux critères saisis", _
                    vbExclamation, "Aucun enregistrement trouvé"
    End If
     
        Set rst1 = Nothing
        Set rst2 = Nothing
        Set wrdApp = Nothing
        Set QDF1 = Nothing
        Set QDF2 = Nothing
        Set rst2 = Nothing
        Set maBD = Nothing
    Salut,
    "Always look at the bright side of life." Monty Python.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    merci de votre intérêt.
    Je suis prise par le temps (c'est pour un travail de fin d'étude et je dois le rendre mercredi prochain et il n'est pas terminé même en dehors de ce problème), je testerais donc tout cela la semaine prochaine pour un avenant éventuel (si ça marche).
    Encore merci à tous

Discussions similaires

  1. Problème liaison Access-Word
    Par flobos dans le forum Word
    Réponses: 4
    Dernier message: 10/06/2015, 09h57
  2. [AC-2010] Problème liaison Access-Word
    Par flobos dans le forum Access
    Réponses: 2
    Dernier message: 09/06/2015, 14h12
  3. [AC-2010] problème de liaison access-word lors de fusion
    Par xenosender dans le forum Access
    Réponses: 3
    Dernier message: 28/10/2011, 16h29
  4. Liaison Access Word
    Par tanith dans le forum Access
    Réponses: 6
    Dernier message: 22/08/2006, 17h55
  5. Liaison Office Access vers Excel
    Par PDR dans le forum Access
    Réponses: 4
    Dernier message: 04/10/2005, 10h20

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