Publipostage : requête SQL

Le
NewsMic
Bonjour,

Sous Word 2002 SP3,
A l'ouverture du document Word auquel est rattaché un fichier Excel pour
publipostage, j'ai le message indiquant que "la requête SQL suivante va être
exécutée.."
Comment "avoir la main" pour modifier les paramètres de cette requête SQL ?
(J'ai des courriers types. Une colonne Excel est réservée aux codes des
courriers, code qui est testé pour la fusion. Pour créer un nouveau
courrier, je pars de la copie d'un autre mais il faudrait que je puisse
changer le code associé)

Autre question : Lors de la fusion, comment supprimer les lignes vides de
l'adresse qui sont remplacées par des zéros ?


Merci d'avance,

MichelR
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #1716472
Bonjour !

'NewsMic' nous a écrit ...
Sous Word 2002 SP3,
A l'ouverture du document Word auquel est rattaché un fichier Excel pour
publipostage, j'ai le message indiquant que "la requête SQL suivante va être
exécutée....."
Comment "avoir la main" pour modifier les paramètres de cette requête SQL ?
(J'ai des courriers types. Une colonne Excel est réservée aux codes des
courriers, code qui est testé pour la fusion. Pour créer un nouveau
courrier, je pars de la copie d'un autre mais il faudrait que je puisse
changer le code associé)
Autre question : Lors de la fusion, comment supprimer les lignes vides de
l'adresse qui sont remplacées par des zéros ?


Lisez dans l'inestimable FAQ
http://faqword.free.fr/articles.php?lng=fr&pgy9
notamment le lien vers
http://support.microsoft.com/kb/825765/fr

Cette sécurité SQL est appliquée à WD2002, le nom de la clé dans
la base de registre change seulement sur le numéro de version.

Anacoluthe
« Le besoin de sécurité asphyxie l'âme. »
- Alexandre JARDIN

NewsMic
Le #1716463
Merci Anacoluthe,
le message ne s'affiche plus mais ça ne resout pas mes problèmes.
La requête SQL est "SELECT * FROM D:DonnéesFichier.xls WHERE ((TopEnvoi <>
'Fait' ))
Le Fichier.xls contient plusieurs centaines de données.
La valeur dans les cellules de la colonne TopEnvoi varie : 'Fait', 'Etiq',
'Att' 'Prio'...etc....
Pour conserver ma mise en page Word, je souhaite copier les docs Word et
modifier dans la requête SQL 'Fait' par 'Etiq' par exemple.
Comment faire ? Où est 'cachée' cette requête pour que je puisse la modifier
?

(Avant que cette sécurité Microsoft ne soit en place, la fusion et
publipostage était beaucoup plus souple et simple. Il m'était possible dans
un même document d'avoir des textes de fusions différents selon la valeur
"TopEnvoi". Par ailleurs, il suffisait de cocher une case pour ne pas
imprimer les lignes vides. Là, je n'ai toujours pas trouvé comment faire. Un
clic droit sur un champ de fusion ouvre une fenêtre donnant des dizaines
d'options.) Est ce moi qui m'y prend mal ? Dois je migrer vers une version
plus récente pour retrouver la simplicité ? Microsoft Office Professionnel
2007 est-il un outil meiux adapté ?
J'utilise Word depuis plus d'une dizaine d'années pour des applications
professionnelles (Vente par Correspondance), avec de très nombreuses fusions
Excel et Access
L'exemple que je vous donne fait partie de dizaines d'autres pour lesquels
je vais rencontrer les mêmes problèmes. C'est une catastrophe pour moi.

Merci pour vos réponses,

MicNews

"Anacoluthe"
Bonjour !

'NewsMic' nous a écrit ...
Sous Word 2002 SP3,
A l'ouverture du document Word auquel est rattaché un fichier Excel pour
publipostage, j'ai le message indiquant que "la requête SQL suivante va
être exécutée....."
Comment "avoir la main" pour modifier les paramètres de cette requête SQL
?
(J'ai des courriers types. Une colonne Excel est réservée aux codes des
courriers, code qui est testé pour la fusion. Pour créer un nouveau
courrier, je pars de la copie d'un autre mais il faudrait que je puisse
changer le code associé)
Autre question : Lors de la fusion, comment supprimer les lignes vides de
l'adresse qui sont remplacées par des zéros ?


Lisez dans l'inestimable FAQ
http://faqword.free.fr/articles.php?lng=fr&pgy9
notamment le lien vers
http://support.microsoft.com/kb/825765/fr

Cette sécurité SQL est appliquée à WD2002, le nom de la clé dans
la base de registre change seulement sur le numéro de version.

Anacoluthe
« Le besoin de sécurité asphyxie l'âme. »
- Alexandre JARDIN



Anacoluthe
Le #1716459
Bonjour !

'NewsMic' nous a écrit ...
le message ne s'affiche plus mais ça ne resout pas mes problèmes.
La requête SQL est "SELECT * FROM D:DonnéesFichier.xls WHERE ((TopEnvoi <>
'Fait' ))
Le Fichier.xls contient plusieurs centaines de données.
La valeur dans les cellules de la colonne TopEnvoi varie : 'Fait', 'Etiq',
'Att' 'Prio'...etc....
Pour conserver ma mise en page Word, je souhaite copier les docs Word et
modifier dans la requête SQL 'Fait' par 'Etiq' par exemple.
Comment faire ? Où est 'cachée' cette requête pour que je puisse la modifier


En manuel : Volet Fusion et publipostage - étape 3 - Modifier la liste des
destinataires - cliquer sur le triangle à gauche du champ TopEnvoi -
Sélectionner la valeur Etiq ou choisissez Avancées pour composer votre
requête complexe.

En automation : la requête SQL est inscrite dans les paramètres de
OpenDataSource selon la voie d'accès aux données (ODBC, DDE etc)


(Avant que cette sécurité Microsoft ne soit en place, la fusion et
publipostage était beaucoup plus souple et simple. Il m'était possible dans
un même document d'avoir des textes de fusions différents selon la valeur
"TopEnvoi".


Dans WD2003 vous pouvez revenir au publipostage à l'ancienne avec
l'assistant en 3 étapes que vous connaissez en ajoutant à votre barre
d'outils 'Fusion et publipostage' le bouton 'FusionAide' que vous
glisserez depuis
Outils / Personnaliser / Commandes / Toutes les commandes

Par ailleurs, il suffisait de cocher une case pour ne pas
imprimer les lignes vides. Là, je n'ai toujours pas trouvé comment faire. Un
clic droit sur un champ de fusion ouvre une fenêtre donnant des dizaines
d'options.)


Vous retrouverez aussi cette option avec l'ancien assistant :-)

C'est mieux ?

Anacoluthe
« Il est bon d'être ancien et mauvais d'être vieux. »
- Victor HUGO

NewsMic
Le #1717353
C'est mieux ?

Anacoluthe
« Il est bon d'être ancien et mauvais d'être vieux. »
- Victor HUGO


C'est plus que mieux ! 1000 Merci !
Vous maitrisez votre sujet, Anacoluthe, chapeau !

MicNews

Anacoluthe
Le #1717350
Bonjour !

'NewsMic' nous a écrit ...
C'est plus que mieux ! 1000 Merci !


Merci du retour. Ça en fera 1001 ! :-D )

Anacoluthe
« Un seul mot, usé, mais qui brille
comme une vieille pièce de monnaie : merci ! »
- Pablo NERUDA

NewsMic
Le #1738107
Bonjour,

ESSEYANT de passer sous MS Office 2007 professionnel, je retrouve la
commande FusioAide, mais elle ne supprime pas les lignes vides lors du
publipostage et affiche des 0(zéros).
La source pour cette fusion et publipostage est un fichier .xlsm (Excel avec
prise en charge des macros), dont certaines cellules sont renseignées par un
"recherchev".
J'ai chois l'option de na pas afficher les valeurs zéros dans ces cellules,
mais ce n'est donc pas suffisant.

Où puis-je trouver (ou comment trouver) l'aide à la solution de mon bug ?
Merci d'avance

NewsMic

"Anacoluthe"
Bonjour !

'NewsMic' nous a écrit ...
le message ne s'affiche plus mais ça ne resout pas mes problèmes.
La requête SQL est "SELECT * FROM D:DonnéesFichier.xls WHERE ((TopEnvoi
<> 'Fait' ))
Le Fichier.xls contient plusieurs centaines de données.
La valeur dans les cellules de la colonne TopEnvoi varie : 'Fait',
'Etiq', 'Att' 'Prio'...etc....
Pour conserver ma mise en page Word, je souhaite copier les docs Word et
modifier dans la requête SQL 'Fait' par 'Etiq' par exemple.
Comment faire ? Où est 'cachée' cette requête pour que je puisse la
modifier


En manuel : Volet Fusion et publipostage - étape 3 - Modifier la liste des
destinataires - cliquer sur le triangle à gauche du champ TopEnvoi -
Sélectionner la valeur Etiq ou choisissez Avancées pour composer votre
requête complexe.

En automation : la requête SQL est inscrite dans les paramètres de
OpenDataSource selon la voie d'accès aux données (ODBC, DDE etc)


(Avant que cette sécurité Microsoft ne soit en place, la fusion et
publipostage était beaucoup plus souple et simple. Il m'était possible
dans un même document d'avoir des textes de fusions différents selon la
valeur "TopEnvoi".


Dans WD2003 vous pouvez revenir au publipostage à l'ancienne avec
l'assistant en 3 étapes que vous connaissez en ajoutant à votre barre
d'outils 'Fusion et publipostage' le bouton 'FusionAide' que vous
glisserez depuis
Outils / Personnaliser / Commandes / Toutes les commandes

Par ailleurs, il suffisait de cocher une case pour ne pas imprimer les
lignes vides. Là, je n'ai toujours pas trouvé comment faire. Un clic
droit sur un champ de fusion ouvre une fenêtre donnant des dizaines
d'options.)


Vous retrouverez aussi cette option avec l'ancien assistant :-)

C'est mieux ?

Anacoluthe
« Il est bon d'être ancien et mauvais d'être vieux. »
- Victor HUGO





Anacoluthe
Le #1738104
Bonjour !

'NewsMic' nous a écrit ...
ESSEYANT de passer sous MS Office 2007 professionnel, je retrouve la
commande FusioAide, mais elle ne supprime pas les lignes vides lors du
publipostage et affiche des 0(zéros).


Votre question n'est pas claire. La valeur zéro pour une donnée numérique
n'est pas vide. Les lignes avec zéro n'ont pas à être supprimées.

Sur la question des 'lignes vides' supprimées ou laissées blanches
dans un publipostage, Word a évolué vers la suppression des lignes
totalement blanches. Il reste possible cependant de gérer tout ça sans
modifier l'option par défaut avec des champs conditionnels ou des sauts
de ligne (l'option supprime les paragraphes vides, pas les sauts de lignes
avec Maj+Entrée). Voyez dans la FAQ :
http://faqword.free.fr/articles.php?lng=fr&pgX7

Anacoluthe
« On ne peut remplir que ce qui est vide. »
- Jean-Marie ADIAFFI

NewsMic
Le #1738098
(oups ! l'orthographe : essayant !)
J'ai vu la FAQ. Je n'arrive pas à reproduire l'effet inverse.
Pour être bref et plus clair :
- sur Word 2007 -> Publipostage -> Règles -> "Si...alors...sinon" : comment
insérer un champ dans "sinon" ? ou bien
- Clic droit sur { MERGEFIELD ADR1} -> modification du champ : comment
modifier la propriété du champ pour dire :
si { MERGEFIELD ADR1}=0 alors sauter ce champ.

Parmi tous les champs insérés, prenons l'exemple de { MERGEFIELD ADR1} dont
la valeur sous Excel est 0 (zéro)
Après fusion, l'adresse se présente ainsi :
M.NEWSMIC
0
RUE TOTO

Comment obtenir
M.NEWSMIC
RUE TOTO

Est-il possible d'appliquer une règle pour l'ensemble du document pour ne
pas avoir à traiter chaque champ individuellement ?

Citation :
« On ne peut remplir que ce qui est vide. »
- Jean-Marie ADIAFFI


Et moi je voudrais remplir de vide ce qui ne l'est pas !
NewsMic


"Anacoluthe"
Bonjour !

'NewsMic' nous a écrit ...
ESSEYANT de passer sous MS Office 2007 professionnel, je retrouve la
commande FusioAide, mais elle ne supprime pas les lignes vides lors du
publipostage et affiche des 0(zéros).


Votre question n'est pas claire. La valeur zéro pour une donnée numérique
n'est pas vide. Les lignes avec zéro n'ont pas à être supprimées.

Sur la question des 'lignes vides' supprimées ou laissées blanches
dans un publipostage, Word a évolué vers la suppression des lignes
totalement blanches. Il reste possible cependant de gérer tout ça sans
modifier l'option par défaut avec des champs conditionnels ou des sauts
de ligne (l'option supprime les paragraphes vides, pas les sauts de lignes
avec Maj+Entrée). Voyez dans la FAQ :
http://faqword.free.fr/articles.php?lng=fr&pgX7

Anacoluthe
« On ne peut remplir que ce qui est vide. »
- Jean-Marie ADIAFFI




Anacoluthe
Le #1738091
Bonjour !

'NewsMic' nous a écrit ...
- sur Word 2007 -> Publipostage -> Règles -> "Si...alors...sinon" : comment
insérer un champ dans "sinon" ?


Insérez votre champ IF, affichez les codes des champs Alt+F9,
insérez vos champs imbriqués soit comme d'habitude
soit à la main avec Ctrl+F9

Parmi tous les champs insérés, prenons l'exemple de { MERGEFIELD ADR1} dont
la valeur sous Excel est 0 (zéro)
Après fusion, l'adresse se présente ainsi :
M.NEWSMIC
0
RUE TOTO


Le mieux serait de revoir ce problème dans Excel : une adresse n'est pas
une donnée numérique !

Comment obtenir
M.NEWSMIC
RUE TOTO


Au pire si ADR1 ne peut donner que 0 quand il est vide :
{MERGEFIELD Nom}
{IF {MERGFIELD ADR1} <> 0 "{MERGEFIELD ADR1}<CR>
" }{MERGEFIELD ADR2}
Notez que le saut de ligne <CR> est DANS la condition d'écriture de ADR1

Est-il possible d'appliquer une règle pour l'ensemble du document pour ne
pas avoir à traiter chaque champ individuellement ?


La règle (ligne vide sautée) vous conviendrait sans rien faire
si votre champ ADR1 était vraiment vide...

Anacoluthe
« On ne peut remplir que ce qui est vide. »
- Jean-Marie ADIAFFI

Publicité
Poster une réponse
Anonyme