@Alex ha scritto:
Non ho certezza di aver capito... provo a suggerire questo:
DoCmd.OpenReport acViewPreview, "ReportName',,,, acHidden
Reports("ReportName").Printer = "PrinterName"
DoCmd.OpenReport , "ReportName"
DoCmd.Close acReport, "ReportName"
Era quello che cercavo, l'ho reso funzione un po riveduto e corretto.
Function StampaReportSu(NomeReport, NomeStampante, Optional Args)
DoCmd.OpenReport NomeReport, acViewPreview, , , acHidden, Args
Reports(NomeReport).Printer = Application.Printers(NomeStampante)
DoCmd.OpenReport NomeReport
DoCmd.Close acReport, NomeReport
End Function
Effettivamente salta da una stampante all'altra.
L'inghippo sta nel fatto che ho a che fare con stampanti di etichette che se anche imposto tutti i paramentri di stampa nel report (lunghezza etichette ecc.), fatto per una delle due, se lancio la funzione saltando sull'altra perdo le impostazioni.
Al momento l'unica soluzione (pessima) è creare due report identici con due nomi Report1 Report2, uno agganciato al driver Stampante1 e uno al driver Stampante2 con le stesse impostazioni replicate.
Al momento della stampa richiamo uno o l'altro.
Windows ovviamente deve avere il nome dei drivers che ho deciso.
... va perfettamente ma fa schifo