Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 15h43   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 6
Points : 0
Points : 0
Par défaut Publipostage Word / Access avec plusieurs sources de données

Bonjour à toutes et à tous,
j'ai besoin de vos lumières pour m'aider à faire un courrier publipostage entre Word 2k3 et Access 2k3.
Le seul hic est que je dois utiliser deux tables différentes pour le même courrier, une table contenant les élements administratifs et une autre table contenant le détail, ces deux tables étant liées par un code

Exemple : Table 1 --> Code, nom, prénom, adresse, montant total, tva
Table 2 --> Code, liste en détail de la commande

Merci pour votre aide
Benmarcel78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h45   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 310
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 310
Points : 29 200
Points : 29 200
Salut,

Tu dois utiliser un champ DATABASE basé sur la l'enregistrement de la première table pour les enregistrements de la seconde.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h46   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 6
Points : 0
Points : 0
Merci pour votre réponse.
Et comment dois je faire ?
Benmarcel78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 19h30   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 310
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 310
Points : 29 200
Points : 29 200
Salut,

Ce que je propose, c'est insérer un champ base de données dans ton document de fusion.

tu auras un champs sans critère.

Il suffit ensuite de modifier la sentence SQL pour qu'elle "filtre" tes enregistrements.

Le contenu du champ DataBase ressemble à ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
{ DATABASE  \d "C:\\Users\\Oliver\\Documents\\Access\\MaDB.mdb" 
\c "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data 
Source=C:\\Users\\Oliver\\Documents\\Access\\MaDB.mdb;Mode=Read;
Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry 
Path=\"\";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet 
OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet 
OLEDB:New Database Password=\"\";Jet OLEDB:Create System 
Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy 
Locale on Compact=False;Jet OLEDB:Compact Without Replica 
Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex 
Data=False" \s "SELECT `fac_Id`, `cli_Id`, `fac_Date`, `fac_DateLimPay`, 
`fac_Total`, `fac_Paye`, `fac_Commentaire`, `fac_Nom`, `fac_Prenom`, 
`fac_Societe`, `fac_Adresse`, `fac_Numero`, `fac_CP`, `fac_Localite` 
FROM `tbl_Facture` WHERE ((`cli_Id` = 1))" \h }
La sentence SQL est celle-ci :

Code SQL :
1
2
3
4
"SELECT `fac_Id`, `cli_Id`, `fac_Date`, `fac_DateLimPay`, 
`fac_Total`, `fac_Paye`, `fac_Commentaire`, `fac_Nom`, `fac_Prenom`, 
`fac_Societe`, `fac_Adresse`, `fac_Numero`, `fac_CP`, `fac_Localite` 
FROM `tbl_Facture` WHERE ((`cli_Id` = 1))"

Dans cet exemple, seul les enregistrements qui contiennent la valeur 1 pour le champ cli_ID sont affichés, or le but est d'afficher les champs en relation avec la donnée de publipostage.

Il suffit de modifer la sentence SQL pour qu'elle tienne compte de cette valeur.
On ajoute un cahmp de publipostage.

Code SQL :
1
2
3
4
"SELECT `fac_Id`, `cli_Id`, `fac_Date`, `fac_DateLimPay`, 
`fac_Total`, `fac_Paye`, `fac_Commentaire`, `fac_Nom`, `fac_Prenom`, 
`fac_Societe`, `fac_Adresse`, `fac_Numero`, `fac_CP`, `fac_Localite` 
FROM `tbl_Facture` WHERE ((`cli_Id` = { MERGEFIELD "MonClient"}))"

Attention, la fusion doit être terminée pour obtenir un résultat, l'aperçu des résultats ne suffit pas.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h58.


 
 
 
 
Partenaires

Hébergement Web