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 :

Fusion données Access vers Word


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Fusion données Access vers Word
    Bonjour à tous.

    Je me retourne vers vous, car depuis 2 jours je tourne en rond.
    Je rencontre une difficulté avec la fusion fusion vers Word.

    J'ai 2 tables :
    - TBLRaison pour les raisons sociales entreprises
    - TBLSites pour les différents sites.

    Je veux fusionner des champs adresse, nom, prénom etc dans un document Word déjà établi avec des signets.

    Le problème est que je ne veux pas faire de publipostage, mais fusionner qu'un seul document Word. J'ai donc réaliser une requête me permettant de lié TBLRaison et TBLsites. Ensuite avec un formulaire je peux extraire dans cette requête mon destinataire à qui je veux envoyer un courrier.

    Quand je fusionne avec ce 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
    Dim wApp As Word.Application
    Dim rs As DAO.Recordset
    Dim db As DAO.Database
    Dim sql As String
    sql = "SELECT * from courrier"
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(sql)
    Set wApp = New Word.Application
     
    wApp.Visible = True
     
    While Not rs.EOF
    With wApp
        .Documents.Open ("C:\Users\tony\Desktop\BM Publipostage.docx")
        .ActiveDocument.Bookmarks("Raison").Range.Text = rs.Fields("Raison")
        .ActiveDocument.Bookmarks("Nom").Range.Text = rs.Fields("Nom")
        'etc....
        .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 une erreur sur cette ligne : Set rs = db.OpenRecordset(sql)
    "Trop peu de paramètres : 1 attendu."

    Si je supprime mon formulaire de choix du destinataire, le code fonctionne mais il me réalise un publipostage pour les clients présents dans ma requête.

    Avez vous une solution pour mon soucis ? Ou alors de je m'y prends mal ?
    Merci pour l'attention que vous porterez à mon sujet.

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour totodelsol
    La ligne 5 devrait se lire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT courrier.* from courrier;"
    Bonne journée

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour Robert.
    Merci de te pencher sur mon petit problème.
    J'ai appliqué ta correction, mais je suis toujours dans la même impasse.

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour totodelsol,
    Le nom de ta table est bien "courrier"? Parce que le message d'erreur que tu as est causé par l'instruction Set rs. Généralement c'est parce que la déclaration est mal écrite que ça fait ça!

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui ma requête s'appelle bien "courrier".

    J'ai seulement l'erreur quand je filtre mon destinataire avec mon formulaire.
    Si je supprime cette étape de filtre, mon code fonctionne mais fusionne autant de fois que j'ai de clients présent dans ma requête.
    A savoir que si je filtre et que j'affiche ma requête, seul le client choisi est présent dans ma requête.
    Tout fonctionne séparément, dès que j'assemble le tout, ça coince.

  6. #6
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour totodelsol,
    Tu peux mettre le filtre dans ton SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT courrier.* from courrier WHERE [LeNomDuChampQueTuVeuxFiltrer] =""" & Me.LeNomDuChampDansTonFormulaire & """;"
    Pour mon exemple j'ai supposé que le champ était de type texte. Si le champ est numérique pas besoin du """ une seule suffit.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui, c'est un champ texte.
    Sinon ça bloque sur le mot clé "Me".
    Le champ que je veux filtrer dans ma requête est "Site" et mon filtre se fait à travers une liste déroulante "cmbSites" dans formulaire indépendant "RechercheSite".

  8. #8
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Ok dans le code que je t'ai donné j'ai supposé que ton formulaire était toujours ouvert, est-ce le cas? Si oui cmbSites est quoi? Une liste déroulante? Si c'est une liste sur quel est la requête de cette liste?

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui mon formulaire reste ouvert pour le moment, mais il sera appelé a disparaitre dès que j'aurai fais mon choix du destinataire.

    CmbSites est une liste déroulante alimentée par le champ Site de ma table TBLSite. Ensuite j'ai [Formulaires]![RechercheSite]![cmbSites] dans le critère Site de ma requête.

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je joins mon fichier. J'ai simplement vidé ma base de données.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Si tu veux que la requête fonctionne,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![RechercheSite]![cmbSites]
    demande que ton formulaire soit ouvert. Donc si tu lance le code après que ton formulaire soit fermé ta requête ne trouve pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![RechercheSite]![cmbSites]
    Tu devrais avoir un message du genre entrez une valeur de paramêtre pour [Formulaires]![RechercheSite]![cmbSites].

  12. #12
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    je regarde ça immédiatement.

  13. #13
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Voilà ça fonctionne.
    J'ai corrigé ta liste déroulante et un peu de code et noté les explications.
    Fichiers attachés Fichiers attachés

  14. #14
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Je n'ai pas testé cependant ce que ça donnait dans Word mais tu m'avais dit que ça fonctionnait.
    Bonne soirée

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je viens de tester. C'est OK, ça fonctionne.
    Je vais pouvoir continuer mon projet et surtout comprendre mon erreur.

    Merci d'avoir consacrer de ton temps.

Discussions similaires

  1. exporter données access vers fichier word pour impression
    Par Nicolas33 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/10/2015, 14h44
  2. [WD-2010] Importer données Access vers Word par signet
    Par Brandysve dans le forum VBA Word
    Réponses: 3
    Dernier message: 04/04/2014, 19h24
  3. fusion access vers word
    Par isabelle b dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/07/2008, 14h01
  4. Automatisation de fusion access vers word
    Par seb_debutant dans le forum Modélisation
    Réponses: 19
    Dernier message: 18/03/2008, 16h05
  5. Transfert de données en direct de Access vers Word
    Par utopie dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/02/2008, 00h25

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