Private Sub Commande101_Click()
DoCmd.RunCommand acCmdSaveRecord
Dim objWord As Word.Document
Set objWord = GetObject("C:\Doc1.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 comme source de données pour la fusion
objWord.MailMerge.OpenDataSource _
Name:="C:\Clients test.mdb", _
LinkToSource:=True, _
Connection:="TABLE ClientsB", _
SQLStatement:="SELECT * FROM [ClientsB] WHERE [ID] = " & Me.[ID]
' Exécution de la fusion.
objWord.MailMerge.Execute
Set wordobj = Nothing
'Set objWord = Nothing
End Sub
Le but étant de récupérer les informations du client que je suis en train de
visualiser dans mon formulaire.
Ces infos sont fusionnées avec un document Word.
Glogalement celà fonctionne au détail près que je ne peux pas lancer ma
commande 2 fois de suite.
Le programme bloque et me signale une erreur '287'
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
Eric
Bonjour,
Je suis pas spécialiste mais l'erreur doit être liée au fait que le document principal de fusion est déjà ouvert quand tu relances une 2ème fois la fusion.
En corrigeant ainsi je n'ai plus d'erreur.
Private Sub Commande101_Click() '... le début de ton code objWord.MailMerge.Execute '--------------------------------------------- ' Verif du type de document : Si doc ppal de fusion, on le ferme ' ce qui permet de garder le résulat de la fusion (lettres-type1) If objWord.MailMerge.MainDocumentType <> wdNotAMergeDocument Then objWord.Close End If '--------------------------------------------- 'Set wordobj = Nothing ' erreur sur la variable-objet Set objWord = Nothing End Sub
PS : le temps de traitement me parait un peu long :-(
Bonjour,
Qui peut me mettre sur la voie ?
J'ai copié le code suivant sur le net.
Private Sub Commande101_Click() DoCmd.RunCommand acCmdSaveRecord Dim objWord As Word.Document Set objWord = GetObject("C:Doc1.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 comme source de données pour la fusion objWord.MailMerge.OpenDataSource _ Name:="C:Clients test.mdb", _ LinkToSource:=True, _ Connection:="TABLE ClientsB", _ SQLStatement:="SELECT * FROM [ClientsB] WHERE [ID] = " & Me.[ID] ' Exécution de la fusion. objWord.MailMerge.Execute Set wordobj = Nothing 'Set objWord = Nothing End Sub
Le but étant de récupérer les informations du client que je suis en train de visualiser dans mon formulaire. Ces infos sont fusionnées avec un document Word.
Glogalement celà fonctionne au détail près que je ne peux pas lancer ma commande 2 fois de suite. Le programme bloque et me signale une erreur '287'
Merci de votre compréhension.
Pad
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Je suis pas spécialiste mais l'erreur doit être liée au fait que le
document principal de fusion est déjà ouvert quand tu relances une 2ème
fois la fusion.
En corrigeant ainsi je n'ai plus d'erreur.
Private Sub Commande101_Click()
'... le début de ton code
objWord.MailMerge.Execute
'---------------------------------------------
' Verif du type de document : Si doc ppal de fusion, on le ferme
' ce qui permet de garder le résulat de la fusion (lettres-type1)
If objWord.MailMerge.MainDocumentType <> wdNotAMergeDocument Then
objWord.Close
End If
'---------------------------------------------
'Set wordobj = Nothing ' erreur sur la variable-objet
Set objWord = Nothing
End Sub
PS : le temps de traitement me parait un peu long :-(
Bonjour,
Qui peut me mettre sur la voie ?
J'ai copié le code suivant sur le net.
Private Sub Commande101_Click()
DoCmd.RunCommand acCmdSaveRecord
Dim objWord As Word.Document
Set objWord = GetObject("C:Doc1.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 comme source de données pour la fusion
objWord.MailMerge.OpenDataSource _
Name:="C:Clients test.mdb", _
LinkToSource:=True, _
Connection:="TABLE ClientsB", _
SQLStatement:="SELECT * FROM [ClientsB] WHERE [ID] = " & Me.[ID]
' Exécution de la fusion.
objWord.MailMerge.Execute
Set wordobj = Nothing
'Set objWord = Nothing
End Sub
Le but étant de récupérer les informations du client que je suis en train de
visualiser dans mon formulaire.
Ces infos sont fusionnées avec un document Word.
Glogalement celà fonctionne au détail près que je ne peux pas lancer ma
commande 2 fois de suite.
Le programme bloque et me signale une erreur '287'
Merci de votre compréhension.
Pad
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je suis pas spécialiste mais l'erreur doit être liée au fait que le document principal de fusion est déjà ouvert quand tu relances une 2ème fois la fusion.
En corrigeant ainsi je n'ai plus d'erreur.
Private Sub Commande101_Click() '... le début de ton code objWord.MailMerge.Execute '--------------------------------------------- ' Verif du type de document : Si doc ppal de fusion, on le ferme ' ce qui permet de garder le résulat de la fusion (lettres-type1) If objWord.MailMerge.MainDocumentType <> wdNotAMergeDocument Then objWord.Close End If '--------------------------------------------- 'Set wordobj = Nothing ' erreur sur la variable-objet Set objWord = Nothing End Sub
PS : le temps de traitement me parait un peu long :-(
Bonjour,
Qui peut me mettre sur la voie ?
J'ai copié le code suivant sur le net.
Private Sub Commande101_Click() DoCmd.RunCommand acCmdSaveRecord Dim objWord As Word.Document Set objWord = GetObject("C:Doc1.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 comme source de données pour la fusion objWord.MailMerge.OpenDataSource _ Name:="C:Clients test.mdb", _ LinkToSource:=True, _ Connection:="TABLE ClientsB", _ SQLStatement:="SELECT * FROM [ClientsB] WHERE [ID] = " & Me.[ID] ' Exécution de la fusion. objWord.MailMerge.Execute Set wordobj = Nothing 'Set objWord = Nothing End Sub
Le but étant de récupérer les informations du client que je suis en train de visualiser dans mon formulaire. Ces infos sont fusionnées avec un document Word.
Glogalement celà fonctionne au détail près que je ne peux pas lancer ma commande 2 fois de suite. Le programme bloque et me signale une erreur '287'
Merci de votre compréhension.
Pad
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr