Bonjour à tous,

J'essaye de tenter un publipostage d'access>word sur la base d'un recordset.

Mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Command15_Click()
 
Dim wApp As Word.Application
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String
sql = "SELECT * From tblComStart WHERE PatientCode = [PRQ//PRI//Pri//17/12/2012//DNR] ;"
 
 
 
 
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = New Word.Application
wApp.Visible = True
 
While Not rs.EOF
With wApp
    .Documents.Open "C:\Users\dnr\Desktop\Bookmarks.docx"
    .ActiveDocument.Bookmarks("Name").Range.Text = rs.Fields("PatientName")
    .ActiveDocument.Bookmarks("Surname").Range.Text = rs.Fields("PatientSurname")
    '.ActiveDocument.PrintOut
    '.ActiveDocument.Close (wdDoNotSaveChanges)
End With
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
 
Set wApp = Nothing
End Sub
Dans cette configuration, j'ai un message d'erreur du style "Low parameter, expected1". En fait, je chercher à publiposter sur une valeur ou bien en fonction d'un champ. Mais pour le moment, je fais le test sur une valeur précise.

Si je transforme ma requête en : sql = "SELECT * From tblComStart" , cela fonctionne et cela me publiposte toutes les valeurs sur mon fichier word.

C'est à n'y rien comprendre !
Je suspecte mon code SQL...
Si quelqu'un pouvait m'aider dans la rédaction, j'en serais très heureux car je me casse la tête la dessus lol.

Merci