OVH Cloud OVH Cloud

Publipostage

1 réponse
Avatar
Patrick Asselin
Bonjour, j'ai créé un formulaire avec un bouton qui a comme Procédure
événementielle la suivante :

Option Compare Database
Option Explicit

Private Sub Commande0_Click()
On Error Resume Next ' a modifier selon besoin
Dim W_App As Object
Set W_App = CreateObject("Word.Application")
Dim Db
Dim Rs
Set Db = CurrentDb
Dim Strsql As String
Strsql = "SELECT KVN3A.NOM, KVN3A.PRENOM, KVN3A.ADRESSE, KVN3A.COMMUNE,
KVN3A.CD_POST, KVN3A.Complement_ADRESSE FROM KVN3A;"
Set Rs = CurrentDb.OpenRecordset(Strsql)
Rs.MoveFirst
With W_App
.Visible = True
Do Until Rs.EOF
.Documents.Open ("c:\doc1.doc")
.ActiveDocument.Bookmarks("nom").Select
.Selection.InsertAfter Rs.Fields("NOM")
.ActiveDocument.Bookmarks("prenom").Select
.Selection.InsertAfter Rs.Fields("PRENOM")
.ActiveDocument.Bookmarks("adresse").Select
.Selection.InsertAfter Rs.Fields("ADDRESSE")
.ActiveDocument.Bookmarks("adresse2").Select
.Selection.InsertAfter Rs.Fields("Complement_ADRESSE")
.ActiveDocument.Bookmarks("postal").Select
.Selection.InsertAfter Rs.Fields("CD_POST")
.ActiveDocument.Bookmarks("commune").Select
.Selection.InsertAfter Rs.Fields("COMMUNE")
.ActiveDocument.PrintOut False
.ActiveDocument.Close
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
Set Db = Nothing
.Quit
End With
Set W_App = Nothing
End Sub


Cà se lance, çà ouvre Word mais aucun nouveau document est ouvert et Access
plante.

Quelqu'un peut me dire ce que j'ai fait de travers.

Merci D'avance.

Cordialement,
Patrick Asselin.

1 réponse

Avatar
Raymond [mvp]
Bonjour.

toutes les conditions sont réunies pour que ça pose problème.
Dim Db
Dim Rs
mettre Dim Db as DAO.Database
Dim Rs as DAO.Recordset

la requête retourne-t-elle des enregistrements ?
remplacer :
Set Rs = CurrentDb.OpenRecordset(Strsql)
Rs.MoveFirst
par

Set Rs = Db.OpenRecordset(Strsql)
If Rs.BOF Then Exit Sub 'pas d'enregistrement

après ça, mettre des points d'arrêt dans le code pour voir où ça plante.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Patrick Asselin" a écrit dans le
message de news:
Bonjour, j'ai créé un formulaire avec un bouton qui a comme Procédure
événementielle la suivante :

Option Compare Database
Option Explicit

Private Sub Commande0_Click()
On Error Resume Next ' a modifier selon besoin
Dim W_App As Object
Set W_App = CreateObject("Word.Application")
Dim Db
Dim Rs
Set Db = CurrentDb
Dim Strsql As String
Strsql = "SELECT KVN3A.NOM, KVN3A.PRENOM, KVN3A.ADRESSE, KVN3A.COMMUNE,
KVN3A.CD_POST, KVN3A.Complement_ADRESSE FROM KVN3A;"
Set Rs = CurrentDb.OpenRecordset(Strsql)
Rs.MoveFirst
With W_App
.Visible = True
Do Until Rs.EOF
.Documents.Open ("c:doc1.doc")
.ActiveDocument.Bookmarks("nom").Select
.Selection.InsertAfter Rs.Fields("NOM")
.ActiveDocument.Bookmarks("prenom").Select
.Selection.InsertAfter Rs.Fields("PRENOM")
.ActiveDocument.Bookmarks("adresse").Select
.Selection.InsertAfter Rs.Fields("ADDRESSE")
.ActiveDocument.Bookmarks("adresse2").Select
.Selection.InsertAfter Rs.Fields("Complement_ADRESSE")
.ActiveDocument.Bookmarks("postal").Select
.Selection.InsertAfter Rs.Fields("CD_POST")
.ActiveDocument.Bookmarks("commune").Select
.Selection.InsertAfter Rs.Fields("COMMUNE")
.ActiveDocument.PrintOut False
.ActiveDocument.Close
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
Set Db = Nothing
.Quit
End With
Set W_App = Nothing
End Sub


Cà se lance, çà ouvre Word mais aucun nouveau document est ouvert et
Access
plante.

Quelqu'un peut me dire ce que j'ai fait de travers.

Merci D'avance.

Cordialement,
Patrick Asselin.