"J'ai posté ce message sur mpfw en pensant que problème était lié a word
mais on me recommande de poster ici."
Je finalise ma bdd et j'ai un probleme qui est apparu après le
frationnement.
Je fais du publipostage. La bdd avant fractionnement fonctionne a merveille,
no soucis...
Après frationnement, le publipostage ne fonctionne plus. Il me reclame la
source. je ne comprends pas. Les tables sont bien liées, les chemins sont
bons, tout est bon..
J'ai bien l'impression que word n'apprécie pas les tables liés car lorsque
j'édites la source de donnée il ne me trouve pas les champs de fusion.
J'ai tenté de refaire un doc de fusion et la surprise ! quand je veux lier
ma source de données, il ne voit pas les tables et les requetes... et mon
publipostage est basé sur une requete.. [Req_Societe_et_contact]
Où dois-je regarder ?
Code du publipostage ci dessous :
Sub MergeIt()
Dim vapplicationWord As Word.Application
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 vapplicationWord = CreateObject("word.application")
vapplicationWord.Visible = False
Dim vlettretype As New Word.Document
On Error GoTo SortieErreur
vapplicationWord.Documents.Open filename:=objworddocpath & "\" &
"Publipostage.doc"
'parametres pour le publipostage
Set vlettretype = vapplicationWord.Documents("Publipostage.doc")
With vlettretype.MailMerge
.OpenDataSource Name:=objwordMdbpath & "\" & "Prestaprod.mdb",
ConfirmConversions:=False, ReadOnly:=False, Linktosource:=True,
Addtorecentfiles:=False, Connection:=objwordMdbpath & "\" &
"Prestaprod.mdb", Sqlstatement:="SELECT * FROM [Req_Societe_et_contact]
WHERE " & strFiltreallpub
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
End With
'exécution du publipostage
vlettretype.MailMerge.Execute
vapplicationWord.ActiveDocument.SaveAs (objworddocpath & "\mailling")
vlettretype.Close (wdDoNotSaveChanges)
'proposition d'apercu avant impression ou abandon du publipostage
Dim vchoix As Integer
vchoix = MsgBox("voulez-vous consulter les lettres en mode aperçu avant
impression ?", vbYesNoCancel)
With vapplicationWord
Select Case vchoix
Case vbYes
.Visible = True
.Documents("mailling.doc").PrintPreview
Case vbNo
.Documents("mailling.doc").PrintOut
.Documents("mailling.doc").Close (wdDoNotSaveChanges)
Case vbCancel
.Documents("mailling.doc").Close (wdDoNotSaveChanges)
.Quit
End Select
End With
Set vlettretype = Nothing
Set vapplicationWord = Nothing
Exit Sub
SortieErreur:
If Err.Number = 5356 Then
' pour la premiere instance de word
MsgBox "le document contenant les lettres de publipostage précédent est
ouvert" & Chr(13) & "Fermer le puis relancer le publipostage"
Else
MsgBox "Mailling non réalisé. Vérifiez les parametres du publipostage"
End If
'pour la seconde instance de word
vapplicationWord.Documents.Close (wdDoNotSaveChanges)
vapplicationWord.Quit
Set vlettretype = Nothing
Set vapplicationWord = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain Lafontaine
Probablement parce que vous essayez de faire votre publipostage contre le frontend au lieu de le faire contre le backend. Depuis quelques années, j'ai vu avoir des programmeurs VB6 avoir le même souci; alors j'imagine qu'il s'agit d'un problème qui s'est développé ces dernières années.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"news.tiscali.fr" (paslamarque).fr> wrote in message news:fna4tu$moq$
Bonjour,
"J'ai posté ce message sur mpfw en pensant que problème était lié a word mais on me recommande de poster ici."
Je finalise ma bdd et j'ai un probleme qui est apparu après le frationnement.
Je fais du publipostage. La bdd avant fractionnement fonctionne a merveille, no soucis...
Après frationnement, le publipostage ne fonctionne plus. Il me reclame la source. je ne comprends pas. Les tables sont bien liées, les chemins sont bons, tout est bon..
J'ai bien l'impression que word n'apprécie pas les tables liés car lorsque j'édites la source de donnée il ne me trouve pas les champs de fusion.
J'ai tenté de refaire un doc de fusion et la surprise ! quand je veux lier ma source de données, il ne voit pas les tables et les requetes... et mon publipostage est basé sur une requete.. [Req_Societe_et_contact]
Où dois-je regarder ?
Code du publipostage ci dessous :
Sub MergeIt() Dim vapplicationWord As Word.Application 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 vapplicationWord = CreateObject("word.application") vapplicationWord.Visible = False
Dim vlettretype As New Word.Document On Error GoTo SortieErreur vapplicationWord.Documents.Open filename:=objworddocpath & "" & "Publipostage.doc"
'parametres pour le publipostage Set vlettretype = vapplicationWord.Documents("Publipostage.doc") With vlettretype.MailMerge .OpenDataSource Name:=objwordMdbpath & "" & "Prestaprod.mdb", ConfirmConversions:úlse, ReadOnly:úlse, Linktosource:=True, Addtorecentfiles:úlse, Connection:=objwordMdbpath & "" & "Prestaprod.mdb", Sqlstatement:="SELECT * FROM [Req_Societe_et_contact] WHERE " & strFiltreallpub .Destination = wdSendToNewDocument .SuppressBlankLines = True End With
'exécution du publipostage vlettretype.MailMerge.Execute vapplicationWord.ActiveDocument.SaveAs (objworddocpath & "mailling") vlettretype.Close (wdDoNotSaveChanges)
'proposition d'apercu avant impression ou abandon du publipostage Dim vchoix As Integer vchoix = MsgBox("voulez-vous consulter les lettres en mode aperçu avant impression ?", vbYesNoCancel) With vapplicationWord Select Case vchoix Case vbYes .Visible = True .Documents("mailling.doc").PrintPreview
Case vbNo .Documents("mailling.doc").PrintOut .Documents("mailling.doc").Close (wdDoNotSaveChanges)
Case vbCancel .Documents("mailling.doc").Close (wdDoNotSaveChanges) .Quit End Select End With
Set vlettretype = Nothing Set vapplicationWord = Nothing
Exit Sub
SortieErreur: If Err.Number = 5356 Then ' pour la premiere instance de word MsgBox "le document contenant les lettres de publipostage précédent est ouvert" & Chr(13) & "Fermer le puis relancer le publipostage" Else MsgBox "Mailling non réalisé. Vérifiez les parametres du publipostage" End If
'pour la seconde instance de word vapplicationWord.Documents.Close (wdDoNotSaveChanges) vapplicationWord.Quit
Set vlettretype = Nothing Set vapplicationWord = Nothing
End Sub
Merci d'avance
Seb
Probablement parce que vous essayez de faire votre publipostage contre le
frontend au lieu de le faire contre le backend. Depuis quelques années,
j'ai vu avoir des programmeurs VB6 avoir le même souci; alors j'imagine
qu'il s'agit d'un problème qui s'est développé ces dernières années.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)
"news.tiscali.fr" <seb@seb(paslamarque).fr> wrote in message
news:fna4tu$moq$1@news.tiscali.fr...
Bonjour,
"J'ai posté ce message sur mpfw en pensant que problème était lié a word
mais on me recommande de poster ici."
Je finalise ma bdd et j'ai un probleme qui est apparu après le
frationnement.
Je fais du publipostage. La bdd avant fractionnement fonctionne a
merveille,
no soucis...
Après frationnement, le publipostage ne fonctionne plus. Il me reclame la
source. je ne comprends pas. Les tables sont bien liées, les chemins sont
bons, tout est bon..
J'ai bien l'impression que word n'apprécie pas les tables liés car lorsque
j'édites la source de donnée il ne me trouve pas les champs de fusion.
J'ai tenté de refaire un doc de fusion et la surprise ! quand je veux lier
ma source de données, il ne voit pas les tables et les requetes... et mon
publipostage est basé sur une requete.. [Req_Societe_et_contact]
Où dois-je regarder ?
Code du publipostage ci dessous :
Sub MergeIt()
Dim vapplicationWord As Word.Application
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 vapplicationWord = CreateObject("word.application")
vapplicationWord.Visible = False
Dim vlettretype As New Word.Document
On Error GoTo SortieErreur
vapplicationWord.Documents.Open filename:=objworddocpath & "" &
"Publipostage.doc"
'parametres pour le publipostage
Set vlettretype = vapplicationWord.Documents("Publipostage.doc")
With vlettretype.MailMerge
.OpenDataSource Name:=objwordMdbpath & "" & "Prestaprod.mdb",
ConfirmConversions:úlse, ReadOnly:úlse, Linktosource:=True,
Addtorecentfiles:úlse, Connection:=objwordMdbpath & "" &
"Prestaprod.mdb", Sqlstatement:="SELECT * FROM [Req_Societe_et_contact]
WHERE " & strFiltreallpub
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
End With
'exécution du publipostage
vlettretype.MailMerge.Execute
vapplicationWord.ActiveDocument.SaveAs (objworddocpath & "mailling")
vlettretype.Close (wdDoNotSaveChanges)
'proposition d'apercu avant impression ou abandon du publipostage
Dim vchoix As Integer
vchoix = MsgBox("voulez-vous consulter les lettres en mode aperçu avant
impression ?", vbYesNoCancel)
With vapplicationWord
Select Case vchoix
Case vbYes
.Visible = True
.Documents("mailling.doc").PrintPreview
Case vbNo
.Documents("mailling.doc").PrintOut
.Documents("mailling.doc").Close (wdDoNotSaveChanges)
Case vbCancel
.Documents("mailling.doc").Close (wdDoNotSaveChanges)
.Quit
End Select
End With
Set vlettretype = Nothing
Set vapplicationWord = Nothing
Exit Sub
SortieErreur:
If Err.Number = 5356 Then
' pour la premiere instance de word
MsgBox "le document contenant les lettres de publipostage précédent est
ouvert" & Chr(13) & "Fermer le puis relancer le publipostage"
Else
MsgBox "Mailling non réalisé. Vérifiez les parametres du publipostage"
End If
'pour la seconde instance de word
vapplicationWord.Documents.Close (wdDoNotSaveChanges)
vapplicationWord.Quit
Set vlettretype = Nothing
Set vapplicationWord = Nothing
Probablement parce que vous essayez de faire votre publipostage contre le frontend au lieu de le faire contre le backend. Depuis quelques années, j'ai vu avoir des programmeurs VB6 avoir le même souci; alors j'imagine qu'il s'agit d'un problème qui s'est développé ces dernières années.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"news.tiscali.fr" (paslamarque).fr> wrote in message news:fna4tu$moq$
Bonjour,
"J'ai posté ce message sur mpfw en pensant que problème était lié a word mais on me recommande de poster ici."
Je finalise ma bdd et j'ai un probleme qui est apparu après le frationnement.
Je fais du publipostage. La bdd avant fractionnement fonctionne a merveille, no soucis...
Après frationnement, le publipostage ne fonctionne plus. Il me reclame la source. je ne comprends pas. Les tables sont bien liées, les chemins sont bons, tout est bon..
J'ai bien l'impression que word n'apprécie pas les tables liés car lorsque j'édites la source de donnée il ne me trouve pas les champs de fusion.
J'ai tenté de refaire un doc de fusion et la surprise ! quand je veux lier ma source de données, il ne voit pas les tables et les requetes... et mon publipostage est basé sur une requete.. [Req_Societe_et_contact]
Où dois-je regarder ?
Code du publipostage ci dessous :
Sub MergeIt() Dim vapplicationWord As Word.Application 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 vapplicationWord = CreateObject("word.application") vapplicationWord.Visible = False
Dim vlettretype As New Word.Document On Error GoTo SortieErreur vapplicationWord.Documents.Open filename:=objworddocpath & "" & "Publipostage.doc"
'parametres pour le publipostage Set vlettretype = vapplicationWord.Documents("Publipostage.doc") With vlettretype.MailMerge .OpenDataSource Name:=objwordMdbpath & "" & "Prestaprod.mdb", ConfirmConversions:úlse, ReadOnly:úlse, Linktosource:=True, Addtorecentfiles:úlse, Connection:=objwordMdbpath & "" & "Prestaprod.mdb", Sqlstatement:="SELECT * FROM [Req_Societe_et_contact] WHERE " & strFiltreallpub .Destination = wdSendToNewDocument .SuppressBlankLines = True End With
'exécution du publipostage vlettretype.MailMerge.Execute vapplicationWord.ActiveDocument.SaveAs (objworddocpath & "mailling") vlettretype.Close (wdDoNotSaveChanges)
'proposition d'apercu avant impression ou abandon du publipostage Dim vchoix As Integer vchoix = MsgBox("voulez-vous consulter les lettres en mode aperçu avant impression ?", vbYesNoCancel) With vapplicationWord Select Case vchoix Case vbYes .Visible = True .Documents("mailling.doc").PrintPreview
Case vbNo .Documents("mailling.doc").PrintOut .Documents("mailling.doc").Close (wdDoNotSaveChanges)
Case vbCancel .Documents("mailling.doc").Close (wdDoNotSaveChanges) .Quit End Select End With
Set vlettretype = Nothing Set vapplicationWord = Nothing
Exit Sub
SortieErreur: If Err.Number = 5356 Then ' pour la premiere instance de word MsgBox "le document contenant les lettres de publipostage précédent est ouvert" & Chr(13) & "Fermer le puis relancer le publipostage" Else MsgBox "Mailling non réalisé. Vérifiez les parametres du publipostage" End If
'pour la seconde instance de word vapplicationWord.Documents.Close (wdDoNotSaveChanges) vapplicationWord.Quit
Set vlettretype = Nothing Set vapplicationWord = Nothing