[WORD2K3-ACC2K3] Publipostage : connexion a la base

Le
seb.....
Bonjour,

J'ai déja posté mon problème sur mpfa mais il reste sans réponses viables.

Je fais un publipostage word a partir d'access :

Mon probleme est le suivant :

La 1ere fois que je lance le publipostage (puis ensuite de manière
aléatoire), j'ai une boite de dialogue qui
me demande sélectionner la source.

Ce que je ne comprends pas, puisque la source est spécifié dans le code :

Sub MergeIt()

Dim objWord As Word.Document
Dim objworddocpath As String
Dim objwordMdbpath As String
objworddocpath = DLookup("[opt_chemin_doc_modele]", "tb_options",
"[opt_id]=1")
objwordMdbpath = DLookup("[opt_chemin_source_doc]", "tb_options",
"[opt_id]=1")

Set objWord = GetObject(objworddocpath & "" & "Publipostage.doc",
"Word.Document")

' Rend Word visible important puisque la fusion se fait à l'écran.
objWord.Application.Visible = True

' Sélectionne la base de données Prestaprod.mdb comme source de données pour
la fusion
objWord.MailMerge.OpenDataSource _
Name:=objwordMdbpath & "" & "Prestaprod.mdb", _
LinkToSource:=True, _
Connection:="REQUETE Req_Societe_et_contact", _
SQLStatement:="SELECT * FROM [Req_Societe_et_contact] WHERE " &
strFiltreallpub


' Exécution de la fusion.
objWord.MailMerge.Execute
Set objWord = Nothing

End Sub

Comment supprimer ce probleme qui me pose serieusement des soucis avec les
utilisateurs ?
quand la boite s'affiche, ils ne comprennent rien, selectionnent n'importe
quelle table, suppriment les champs de fusion Bref c'est la cata.. ils me
font un merdier sans nom ..


Un GRAND merci à celui ou celle qui me trouvera la solution


seb
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 #1749594
Bonjour !

'seb.....' nous a écrit ...
Je fais un publipostage word a partir d'access :
La 1ere fois que je lance le publipostage (puis ensuite de manière
aléatoire), j'ai une boite de dialogue qui
me demande sélectionner la source.
Ce que je ne comprends pas, puisque la source est spécifié dans le code :
Comment supprimer ce probleme qui me pose serieusement des soucis avec les
utilisateurs ?
quand la boite s'affiche, ils ne comprennent rien, selectionnent n'importe
quelle table, suppriment les champs de fusion... Bref c'est la cata.. ils me
font un merdier sans nom ..


La réponse n'est probablement pas dans le code que vous nous donnez
mais dans la suite, notamment dans votre façon de sauvegarder le document.

Quand vous sauvegardez un document-principal de publipostage
il reste /lié/ à sa source de données qu'il va chercher dès que
vous l'ouvrez. S'il ne la trouve pas Word émet ce message
AVANT que vous spécifiez une autre source dans votre code...

La solution : enregistrez votre document de publipostage
comme un /document-Word-normal/ (1er bouton de la barre Publipostage)
après la fusion :
objWord.MailMerge.MainDocumentType = -1 ' = wdNotAMergeDocument

C'est mieux ?

Anacoluthe
« C’est par la séparation qu’on évalue la force des liens. »
- Gérard GEVRY

seb.....
Le #1749577
Bonjour,

J'ai essayé votre solution :

j'ai enregistré le document comme vous l'avez indiqué.
J'ai ajouté objWord.MailMerge.MainDocumentType = -1 ' = wdNotAMergeDocument
apres

Exécution de la fusion.
objWord.MailMerge.Execute


malheureusement cela ne fonctionne pas...

"Anacoluthe"
Bonjour !

'seb.....' nous a écrit ...
Je fais un publipostage word a partir d'access :
La 1ere fois que je lance le publipostage (puis ensuite de manière
aléatoire), j'ai une boite de dialogue qui
me demande sélectionner la source.
Ce que je ne comprends pas, puisque la source est spécifié dans le code :
Comment supprimer ce probleme qui me pose serieusement des soucis avec
les utilisateurs ?
quand la boite s'affiche, ils ne comprennent rien, selectionnent
n'importe quelle table, suppriment les champs de fusion... Bref c'est la
cata.. ils me font un merdier sans nom ..


La réponse n'est probablement pas dans le code que vous nous donnez
mais dans la suite, notamment dans votre façon de sauvegarder le document.

Quand vous sauvegardez un document-principal de publipostage
il reste /lié/ à sa source de données qu'il va chercher dès que
vous l'ouvrez. S'il ne la trouve pas Word émet ce message
AVANT que vous spécifiez une autre source dans votre code...

La solution : enregistrez votre document de publipostage
comme un /document-Word-normal/ (1er bouton de la barre Publipostage)
après la fusion :
objWord.MailMerge.MainDocumentType = -1 ' = wdNotAMergeDocument

C'est mieux ?

Anacoluthe
« C’est par la séparation qu’on évalue la force des liens. »
- Gérard GEVRY



Anacoluthe
Le #1749575
Bonjour !

'seb.....' nous a écrit ...
J'ai essayé votre solution :
j'ai enregistré le document comme vous l'avez indiqué.
J'ai ajouté objWord.MailMerge.MainDocumentType = -1 ' = wdNotAMergeDocument
apres
Exécution de la fusion.
objWord.MailMerge.Execute
malheureusement cela ne fonctionne pas...


Qu'est-ce qui ne marche pas ? La fusion ? Ou la disparition de la boite
qui vous embête ?
Si lors du premier lancement de votre macro votre document est toujours
un document de publipostage lié à une source, il est normal de continuer
à recevoir l'alerte. Repensez toute votre macro : votre objWord doit
être un document normal, vous devez ajoutez dans votre macro le type
de document de publipostage (lettre, répertoire etc) que vous voulez en
faire, le lier à une source, fusionner, puis le remettre en document
normal si vous devez l'enregistrer.

Essayez de faire les choses à la main pour comprendre. Ouvrez votre
publipostage.doc : vous voyez l'alerte, faites-en un document normal,
réenregistrez-le, puis rouvrez-le : il n'y a plus d'alerte.
Est-ce plus clair ?

Anacoluthe
« C’est par la séparation qu’on évalue la force des liens. »
- Gérard GEVRY

seb.....
Le #1749563
Merci

C'est bon cela fonctionne.. j'ai refais les choses a la main, j'ai pigé le
fonctionnement.

Merci encore

Seb


"Anacoluthe" %
Bonjour !

'seb.....' nous a écrit ...
J'ai essayé votre solution :
j'ai enregistré le document comme vous l'avez indiqué.
J'ai ajouté objWord.MailMerge.MainDocumentType = -1 ' =
wdNotAMergeDocument
apres
Exécution de la fusion.
objWord.MailMerge.Execute
malheureusement cela ne fonctionne pas...


Qu'est-ce qui ne marche pas ? La fusion ? Ou la disparition de la boite
qui vous embête ?
Si lors du premier lancement de votre macro votre document est toujours
un document de publipostage lié à une source, il est normal de continuer
à recevoir l'alerte. Repensez toute votre macro : votre objWord doit
être un document normal, vous devez ajoutez dans votre macro le type
de document de publipostage (lettre, répertoire etc) que vous voulez en
faire, le lier à une source, fusionner, puis le remettre en document
normal si vous devez l'enregistrer.

Essayez de faire les choses à la main pour comprendre. Ouvrez votre
publipostage.doc : vous voyez l'alerte, faites-en un document normal,
réenregistrez-le, puis rouvrez-le : il n'y a plus d'alerte.
Est-ce plus clair ?

Anacoluthe
« C’est par la séparation qu’on évalue la force des liens. »
- Gérard GEVRY





Publicité
Poster une réponse
Anonyme