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
| Private Sub IMPRIME_FULL_Click()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone 'cet objet est propre au form et report
rst.MoveFirst
While Not rst.EOF
'je passe la valeur de la clef unique à la procédure
imprimePdf rst.Fields("idpays"), rst.Fields("pays")
rst.MoveNext
Wend
Set rst = Nothing 'parce que quand on ouvre qq chose on le libère
End Sub
Private Sub imprimePdf(idpays As Long, Pays as string)
'Enregistre les modifs qu'il pourrait y avoir avant de générer la fiche
Refresh '<== pas à sa place ici, cela doit se faire dans le formulaire avant la boucle ...
' Permet d'ouvrir l'état de la fiche Pays en cours pour édition en Pdf
' ICI "idpays=" idpays on passe la valeur pour que le report n'affiche que ce pays.
'DoCmd.OpenReport "Fiche Pays HLV en masse", acViewReport, , "idpays=" & idpays, acWindowNormal
DoCmd.OpenReport "Fiche Pays HLV en masse", acViewReport, , "idPays=" & idpays, acWindowNormal
'CheminPDF = définit où sont stockés les fiches PDF en local pour être rapide à la génération
CheminPDF = "C:\Users\Public\Documents"
'NomPDF = définit le nommage du fichier PDF qu'on génére FICHE_ + le pays et l'extention .pdf
NomPDF = "FICHE_" & Pays & ".pdf"
'Ouvre l'Etat et génère la Fiche pdf et referme l'état, le fichier est enregistré directement dans le répertoire CheminPDF
DoCmd.OutputTo acOutputReport, , "PDF", CheminPDF & NomPDF, False, "", , acExportQualityPrint
DoCmd.Close acReport, "Fiche Pays HLV en masse"
'-------------------------------------
End Sub |
Partager