GNT sans publicité, site mobile, fonctionnalitées exclusives...

Automatiser un publipostage dans word a partir d'Access

Le
Yvanb
Bonjour à tous,

J'essaie d'automatiser l'impression d'étiquettes dans Word à partir de
données contenues dans une requete access. Je demande à l'utilisateur de
m'indiquer par des crochets les étiquettes qu'il veut imprimer. Par la suite
il doit seulement peser sur un bouton "imprimer" pour ouvrir word et creer un
document par publipostage qu'il ne lui reste qu'a imprimer. Je suis capable
d'ouvrir word mais incapable d'automatiser le publipostage.

Voici le corps du code:


"Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Visible = True
oApp.Documents.Open ("C:\Documents and Settings\Yvan Breault\My
Documents\Docs Offline\Nordic\Carte_Kanban1")
oApp.ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Documents and Settings\Yvan Breault\My Documents\Docs
Offline\Nordic\NORDICKanban070605.mdb" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID­min;Data
Source=C:\Documents and Settings\Yvan Breault\My Documents\Docs
Offline\Nordic\NORDICKanban070605.mdb;Mode=Read;Extended Properties="""";Jet
OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, SQLStatement:="SELECT * FROM `Req_Carte_Kanban`",
SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
oApp.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
oApp.ActiveDocument.MailMerge.Execute
Set oApp = Nothing"

L'erreur est la suivante:

The database has been placed in a state that prevents it from being opened
or locked.

Je comprends ce qui se passe c.a.d que puisque je suis déja dans la base de
données de laquelle word prends ses infos, cette base de donnée n'est pas
disponible pour la lecture. Mais je ne sais pas comment contourner ce
problème.

J'utilise office 2003

A l'aide

Merci

Yvanb
Lire les 3 réponses

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
Raymond [mvp]
Le #5859781
Bonjour.

tu trouveras deux exemples de code qui fonctionne pour le publipostage sur
la page:
http://officesystem.access.free.fr/...ostage.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvanb"
Bonjour à tous,

J'essaie d'automatiser l'impression d'étiquettes dans Word à partir de
données contenues dans une requete access. Je demande à l'utilisateur de
m'indiquer par des crochets les étiquettes qu'il veut imprimer. Par la
suite
il doit seulement peser sur un bouton "imprimer" pour ouvrir word et creer
un
document par publipostage qu'il ne lui reste qu'a imprimer. Je suis
capable
d'ouvrir word mais incapable d'automatiser le publipostage.

Voici le corps du code:


"Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Visible = True
oApp.Documents.Open ("C:Documents and SettingsYvan BreaultMy
DocumentsDocs OfflineNordicCarte_Kanban1")
oApp.ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:Documents and SettingsYvan BreaultMy DocumentsDocs
OfflineNordicNORDICKanban070605.mdb" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="",
PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="",
Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID­min;Data
Source=C:Documents and SettingsYvan BreaultMy DocumentsDocs
OfflineNordicNORDICKanban070605.mdb;Mode=Read;Extended
Properties="""";Jet
OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, SQLStatement:="SELECT * FROM `Req_Carte_Kanban`",
SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
oApp.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
oApp.ActiveDocument.MailMerge.Execute
Set oApp = Nothing"

L'erreur est la suivante:

The database has been placed in a state that prevents it from being
opened
or locked.

Je comprends ce qui se passe c.a.d que puisque je suis déja dans la base
de
données de laquelle word prends ses infos, cette base de donnée n'est pas
disponible pour la lecture. Mais je ne sais pas comment contourner ce
problème.

J'utilise office 2003

A l'aide

Merci

Yvanb



Yvanb
Le #5859741
Merci Raymond pour tes info mais je ne réussis toujours pas à faire ce que je
veux. Le code que j'ai inscrit fonctionne bien si je le fait rouler à partir
d'une base de donnée autre que celle ou est située ma source de données mais
ce n'est pas ce que je veux. Je veux piloter le publipostage dans word à
partir de la base de données qui contient la source des données et c'est là
que word me dit que cette source ne peut être ouverte parce qu'elle est dans
un état qui l'empêche d'être ouverte.

????


Yvanb

"Raymond [mvp]" wrote:

Bonjour.

tu trouveras deux exemples de code qui fonctionne pour le publipostage sur
la page:
http://officesystem.access.free.fr/...ostage.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvanb"
Bonjour à tous,

J'essaie d'automatiser l'impression d'étiquettes dans Word à partir de
données contenues dans une requete access. Je demande à l'utilisateur de
m'indiquer par des crochets les étiquettes qu'il veut imprimer. Par la
suite
il doit seulement peser sur un bouton "imprimer" pour ouvrir word et creer
un
document par publipostage qu'il ne lui reste qu'a imprimer. Je suis
capable
d'ouvrir word mais incapable d'automatiser le publipostage.

Voici le corps du code:


"Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Visible = True
oApp.Documents.Open ("C:Documents and SettingsYvan BreaultMy
DocumentsDocs OfflineNordicCarte_Kanban1")
oApp.ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:Documents and SettingsYvan BreaultMy DocumentsDocs
OfflineNordicNORDICKanban070605.mdb" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="",
PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="",
Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID­min;Data
Source=C:Documents and SettingsYvan BreaultMy DocumentsDocs
OfflineNordicNORDICKanban070605.mdb;Mode=Read;Extended
Properties="""";Jet
OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, SQLStatement:="SELECT * FROM `Req_Carte_Kanban`",
SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
oApp.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
oApp.ActiveDocument.MailMerge.Execute
Set oApp = Nothing"

L'erreur est la suivante:

The database has been placed in a state that prevents it from being
opened
or locked.

Je comprends ce qui se passe c.a.d que puisque je suis déja dans la base
de
données de laquelle word prends ses infos, cette base de donnée n'est pas
disponible pour la lecture. Mais je ne sais pas comment contourner ce
problème.

J'utilise office 2003

A l'aide

Merci

Yvanb








Raymond [mvp]
Le #5859721
tes données sont apparemment ouvertes sur word et sur access. essaie de ne
pas les ouvrir sous word mais seulement du côté access. si ce n'est pas
possible, fais le contraire, supprime tout ce qui ouvre les données dans ta
procédure access.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvanb"
Merci Raymond pour tes info mais je ne réussis toujours pas à faire ce que
je
veux. Le code que j'ai inscrit fonctionne bien si je le fait rouler à
partir
d'une base de donnée autre que celle ou est située ma source de données
mais
ce n'est pas ce que je veux. Je veux piloter le publipostage dans word à
partir de la base de données qui contient la source des données et c'est

que word me dit que cette source ne peut être ouverte parce qu'elle est
dans
un état qui l'empêche d'être ouverte.

????


Publicité
Suivre les réponses
Poster une réponse
Anonyme