OVH Cloud OVH Cloud

Fusion - Format de date- OLEDB

1 réponse
Avatar
Sylvain Langlade
Bonjour,

Je me cogne le très classique, très traditionnel et très chiant problème du
format "franglais" des dates dans un document de fusion où la source de
données est une base Access.

Or donc, je me retrouve avec les dates inversées lorsque le jour dans le
mois est entre 1 et 12. Je connais la réponse habituelle : passer par un
lien DDE qui résoud le problème par miracle...

Certes, mais le poste client qui va effectuer la fusion n'a pas Access, il
se sert d'un bête lien OLEDB pour bosser. Ma question est : dans ces
conditions, et sans la possibilité d'utiliser un lien DDE, comment procéder
pour forcer Word à interpréter correctement la date ?

Je précise : Word 2000 ou 2003, et base au format Access 2000 avec
uniquement des tables simples. MErci d'avance pour toute suggestion, ça me
sortirait une belle épine du pied. Je précise que je construit ma requête
SQL paramétrée à la main sur le lien OLEDB (j'appelle Word depuis un
VBscript pour déclencher tout le processus), et que je suis limité à 512
caractères en tous : je ne peux pas faire un SELECT de chaque champ
nommément avec un formatage adéquat des dates...

Donc je cherche une solution au niveau de Word, ce qui aura l'avantage aussi
d'être générique. J'ai essayer les commutateurs sur le MERGEFIELD, mais
comme à la base il comprend la date de travers ça ne change rien.

Merci d'avance pour toute suggestion...

PS : Je précise aussi que vu le joyeux mélange de franglais que la suite
Office effectue, ça serait sympa d'avoir un joli correctif pour remettre de
l'ordre dans tout ça... Juste un exemple : ouvrez Excel (je n'ai qu'un 2000
sous la main, mais en XP ou 2003 ça doit marcher), démarrez l'enregistrement
d'une macro, saisissez une date dans la cellule courante, arrêter
l'enregistrement de la macro. Il ne reste plus qu'à aller consulter le code
qu'a généré Excel. Et devinez dans quel format ce brave garçon vous
enregistre sa date... Etonnant, non?

1 réponse

Avatar
Hervé Branchu
Bonjour Sylvain

Essayer le code de champs avec le commutateur suivant
{ mergefield "date" @ "dd/MM/yyyy"}

Pour info testé sur un Word 2003 avec une fusion via OLE DB

sinon on peut se référer à la note http://support.microsoft.com/default.aspx?scid=KB;EN-US;304387

--
Bonne journée
=================================================== Hervé Branchu, Sitel France pour l'Assistance Utilisateur Microsoft


"Sylvain Langlade" a écrit dans le message de news:
uQ4$
Bonjour,

Je me cogne le très classique, très traditionnel et très chiant problème du
format "franglais" des dates dans un document de fusion où la source de
données est une base Access.

Or donc, je me retrouve avec les dates inversées lorsque le jour dans le
mois est entre 1 et 12. Je connais la réponse habituelle : passer par un
lien DDE qui résoud le problème par miracle...

Certes, mais le poste client qui va effectuer la fusion n'a pas Access, il
se sert d'un bête lien OLEDB pour bosser. Ma question est : dans ces
conditions, et sans la possibilité d'utiliser un lien DDE, comment procéder
pour forcer Word à interpréter correctement la date ?

Je précise : Word 2000 ou 2003, et base au format Access 2000 avec
uniquement des tables simples. MErci d'avance pour toute suggestion, ça me
sortirait une belle épine du pied. Je précise que je construit ma requête
SQL paramétrée à la main sur le lien OLEDB (j'appelle Word depuis un
VBscript pour déclencher tout le processus), et que je suis limité à 512
caractères en tous : je ne peux pas faire un SELECT de chaque champ
nommément avec un formatage adéquat des dates...

Donc je cherche une solution au niveau de Word, ce qui aura l'avantage aussi
d'être générique. J'ai essayer les commutateurs sur le MERGEFIELD, mais
comme à la base il comprend la date de travers ça ne change rien.

Merci d'avance pour toute suggestion...

PS : Je précise aussi que vu le joyeux mélange de franglais que la suite
Office effectue, ça serait sympa d'avoir un joli correctif pour remettre de
l'ordre dans tout ça... Juste un exemple : ouvrez Excel (je n'ai qu'un 2000
sous la main, mais en XP ou 2003 ça doit marcher), démarrez l'enregistrement
d'une macro, saisissez une date dans la cellule courante, arrêter
l'enregistrement de la macro. Il ne reste plus qu'à aller consulter le code
qu'a généré Excel. Et devinez dans quel format ce brave garçon vous
enregistre sa date... Etonnant, non?