Stampa su cassetti diversi

di il
4 risposte

Stampa su cassetti diversi

Ho necessità in un gestionale dove utilizzo diversi reports di stampare uno di questi con carta verde anzichè bianca.
Ho quindi acquistato una stampante con cassetto aggiuntivo.
A questo punto ho installato due volte la stampante, e impostato una delle due in maniera tale che di default utilizzi il cassetto con la carta verde. L'ho chiamata "StampanteCartaVerde"
La stampante predefinita è invece quella con carta bianca.

Al di fuori di access tutto funziona. Sia stampando la pagina di prova che utilizzando per esempio Word e selezionando la stampante voluta in fase di stampa.

Sotto Access no......


Ho inserito nel codice relativo al pulsante stampa utilizzato nel caso del report da stampare in verde il seguente codice:

    Dim strPrinterOld As String
    Dim stDocName As String
    
    strPrinterOld = Application.Printer.DeviceName

    Application.Printer = Application.Printers("StampanteCartaVerde")
    stDocName = "ReportStampaDDT"
    DoCmd.OpenReport stDocName, acNormal
               
    Application.Printer = Application.Printers(strPrinterOld)

Stampa sempre in bianco.
E lo fa anche se prima di stampare visualizzo in anteprima il report e seleziono la stampante in verde.

Dove sbaglio?

4 Risposte

  • Re: Stampa su cassetti diversi

    mbarbon ha scritto:


    ...
    Ho inserito nel codice relativo al pulsante stampa utilizzato nel caso del report da stampare in verde il seguente codice:
    
        Dim strPrinterOld As String
        Dim stDocName As String
        
        strPrinterOld = Application.Printer.DeviceName
    
        Application.Printer = Application.Printers("StampanteCartaVerde") <====
        stDocName = "ReportStampaDDT"
        DoCmd.OpenReport stDocName, acNormal
                   
        Application.Printer = Application.Printers(strPrinterOld) <====
    
    ...
    Le righe indicate con la freccia devono iniziare con Set
    Strano che in debug o esecuzione non ci sia stata alcuna segnalazione d'errore.
  • Re: Stampa su cassetti diversi

    Ho provato ma non cambia nulla. Nessun errore in entrambi i casi ma funzionamento identico. Cioè non funziona
  • Re: Stampa su cassetti diversi

    mbarbon ha scritto:


    Ho provato ma non cambia nulla. Nessun errore in entrambi i casi ma funzionamento identico. Cioè non funziona
    Sono casualmente tornato a leggere vecchie pagine web archiviate e tra queste potrebbe esserci qualche aiuto.
    ACC2000: How to Print a Report to Different Paper Trays
    Printer properties not inherited by objects that use the default printer
  • Re: Stampa su cassetti diversi

    Ti ringrazio per l'interessamento.

    Ho risolto così il problema, lo posto anche per i posteri
    
    stDocName = "ReportStampaDDT"
    DoCmd.OpenReport stDocName, acViewPreview, , , acHidden
    Reports!ReportStampaDDT.Printer = Application.Printers("StampanteCartaVerde")
    DoCmd.PrintOut
    ' chiudo il report
     DoCmd.Close acReport, stDocName
    
    In pratica cambio la stampante solo per stampare il report in uso. Poi lo si deve anche chiudere altrimenti anche cambiando documento continuerà a stampare lo sesso
Devi accedere o registrarti per scrivere nel forum
4 risposte