Nous voici de nouveau face à OpenOffice.org Writer. La première chose à faire, par l'intermédiaire du menu Affichage / Source de données , est de retrouver notre requête : il nous suffit de déplier l'arborescence de la base de données qui se trouve maintenant dans le volet supérieur de l'application, et de l'ouvrir d'un double-click sur developpeurs. Elle se présente classiquement sous la forme d'un tableau avec ses en-têtes de colonnes qui autorisent les tris et ses en-têtes de lignes qui permettent sélections continues et discontinues. |
|
On peut maintenant passer à la rédaction de la lettre-type, laquelle sera complétée par des champs appartenant à trois catégories distinctes, toutes trois accessibles par l'intermédiaire du menu Insertion / Champ / Autres :
|
Cliquons donc sur l'onglet Fonctions, et sélectionnons la première, Texte conditionnel. On retrouve une structure que l'on nomme couramment, dans le clan d'en face, fonction Si. La syntaxe de la condition obéit aux règles suivantes :
- D'abord le chemin d'accès du champ concerné, où le point, comme en SQL, sert de séparateur hiérachique : nom_de_la_base.nom_de_la_requête.nom_du_champ. Dans notre cas, cela donne publipostage.developpeurs.sexe
- Puis l'opérateur de comparaison, en général pas du tout SQL : l'égalité utilise EQ ou ==. L'aide d'OpenOffice .org en dresse la liste.
- Et enfin la valeur à comparer, obligatoirement entre guillemets. On a adopté la classification internationale des sexes, 1 pour le masculin, 2 pour le féminin, 0 quand il reste indéterminé. On accordera donc avec le féminin quand le sexe sera 2, avec le masculin dans les autres cas.
- On obtiendra donc l'expression : publipostage.developpeurs.sexe == "2"
|
|
Reste à saisir les contenus à insérer, à cliquer sur le bouton approprié, et à passer au suivant. La condition ne changeant pas, il est inutile de modifier l'expression. Le travail terminé, on enregistre le document.
On vient de réaliser, en fait, un modèle que l'on pourra réutiliser le cas échéant pratiquement sans modifications : la date sera mise à jour, les enregistrements seront fonction d'une requête que l'on pourra actualiser, et le texte pourra même être utilisé avec une requête différente. Il sufira pour cela, sur le texte lui-même, d'ouvrir l'un des champs d'un double-click : on accèdera alors à une boîte de dialogue d'édition de champ. |
|
Celle-ci permettra soit de changer de table ou de requête dans la base de données, soit de modifier le chemin d'accès du champ dans la zone de saisie Condition. Deux petits boutons permettent de naviguer d'un champ à l'autre. Regrettons à ce propos l'absence d'une fonction rechercher et remplacer qui pourrait automatiser les choses.
C'est presque fini : un click sur l'icône représentant trois enveloppes dans la barre d'outils de la source de données, ou sur le menu Fichier / Mailing..., dont la boîte de dialogue affiche la source de données en plus des options du publipostage. |
|
Si l'on a sélectionné un ou plusieurs enregistrements dans la requête, l'option Enregistrements marqués sera active par défaut : sinon, le publipostage utilisera tous les enregistrements. Celui-ci peut être lancé au moyen de trois canaux : par courrier électronique, lequel, après la disparition du client intégré à StarOffice et en l'absence de relation privilégiée avec un autre client de messagerie, ne produit pas de résultats particulièrement concluants, vers une imprimante, voie normale du publipostage, ou vers un, ou, plus exactement, plusieurs fichiers.
OpenOffice.org va en effet créer autant de fichiers que de destinataires, chacun d'eux nommé selon les choix entrés dans la boîte de dialogue. Pour un publipostage de taille significative, une telle option n'est guère pratique et pas vraiment utile : le seul fichier dont on ait réellement besoin est le fichier source du publipostage, comme on l'a vu plus haut. Par contre, en l'absence d'autre moyen de vérification, on prendra soin de générer quelques fichiers pour tester la manoeuvre, en sélectionnant les enregistrements appropriés. |
|
Et ça marche : le publipostage conditionnel est une réussite, et la grammaire totalement respectée. Même s'il manque quelques fonctions, comme la vérification avant envoi, même s'il reste impossible d'imbriquer les conditions, le publipostage avec OpenOffice.org se révèle parfaitement utilisable et recyclable, et, pour peu que l'on maîtrise les bases de données, à la fois plus simple et plus souple qu'avec Word.
Linux, c'est fantastique ; on vient donc d'accoler avec succès un serveur de bases de données suédois, une application bureautique née allemande et naturalisée américaine, dans un cadre purement OpenSource et par l'intermédiaire d'une technologie d'origine Microsoft, ODBC. Merci qui ?
Denis Berger, 25 janvier 2003 |