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
| Private Sub cmdPrint_Click()
'Here is where you set the printer where the report will be sent
'FAUX : c'est ici, (à vérifier) que vous CHANGEZ l'imprimante PAR DÉFAUT.
'Inutile pour imprimer un état :
'Set Application.Printer = Application.Printers(Me.cboPrinters)
'Set prn = Application.Printer
'Ouverture de l'état en mode DESIGN = le + rapide
'acHidden est-il un nouveau paramètre apparu dans Office XP ? (à vérifier)
DoCmd.OpenReport m_stDocName, acViewDesign, , , acHidden
'Affectation à l'état de l'imprimante sélectionnée dans la liste
Reports(m_stDocName).Printer = Application.Printers(Me.cboPrinters)
'Je ne suis pas convaincu qu'on soit obligé de fermer l'état, puis l'imprimer.
' Si le code ne marche pas tel quel, enlever les commentaires en tête de ligne :
' 'Fermer et enregistrer l'état, sans poser de question
' DoCmd.Close acReport, m_stDocName, acSaveYes
' 'Sélectionne l'état dans la fenêtre base de données
' DoCmd.SelectObject acReport, m_stDocName, True
'Si on n'a PAS fermé l'état,
' faut le sélectionner (PAS dans la fenêtre base de données)
DoCmd.SelectObject acReport, m_stDocName, False
'Lance l'impression avec le nombre de copies demandé
DoCmd.PrintOut , , , , Me![NombreCopies]
'Faut probablement le fermer après ?
DoCmd.Close acReport, m_stDocName, acSaveNo
End Sub |
Partager