Report su un driver specifico

di il
8 risposte

Report su un driver specifico

Immaginiamo di avere due stampanti assolutamente identiche su due IP differenti.
Nel sistema sono presenti due driver Stampante1 e Stampante2 identici, ma mandano la stampa a due ip diversi.
Il report è stato creato 'custom' per Stampante1.
Al momento della stampa vorrei decidere al volo se andare su stampante 1 o 2, possibilmente senza cambiare la stampante di default.
In pratica dovrei dire al Report che non è stato customizzato per Stampante1 ma per Stampante2 con le stesse caratteristiche.
Qualche idea?

8 Risposte

  • Re: Report su un driver specifico

    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"
  • Re: Report su un driver specifico

    Se vuoi decidere "al volo" e non a priori puoi creare una piccola form con una combo popolata dall'elenco stampanti di sistema
    
        With Me.mycbo
            .RowSource = vbNullString
            For i = 1 To Application.Printers.Count
                .AddItem Application.Printers(i - 1).DeviceName
            Next
        End With
    
    e poi lo passi nei parametri come ti ha detto Alex
  • Re: Report su un driver specifico

    @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
  • Re: Report su un driver specifico

    Io per stampare etichette creavo Report con la dimensione dell'etichetta poi gestivo le dimensioni Runime e la definizione delle colonne di stampa... avevo fatto anche una cosa grafica... per selezionare e verificare ci stessero tutte... solite cose complicate come faccio io, ma era carino.
    Se vuoi ti mando un demo che avevo fatto.
  • Re: Report su un driver specifico

    Ti ringrazio della disponibilità ma non penso risolverebbe ci sono alcune cose che devo chiarire.

    Quando imposti le caratteristiche del report senza legarti ad una stampante specifica (usi il default), puoi dare caratteristiche generali. Grandezza della pagina orientamento ecc.
    Tutto Ok se stai su stampanti A4 'normali'.
    Se hai bisogno di andare su stampanti particolari (A3 A5 ecc.) e usarne le funzioni particolari, non puoi usare le caratteristiche generali. Ad esempio una stampante per etichette ha un miliardo di altri settaggi.
    Dirò di più se imposto ad esempio le dimensioni delle etichette e tutto il resto usando il driver della stampante, non le ritrovo neanche nelle impostazioni generali.

    Speravo ci fosse un modo per dire, date le caratteristiche particolari impostate del driver con una stampa 'su misura', prendiamole tutte per buone (anche se specifiche), tranne il nome della stampante che posso switchare all'occorrenza su un altra con lo stesso driver.
  • Re: Report su un driver specifico

    Io mi sono fatto 3 Report A5/A4/A3.... e carico le impostazioni salvate... non faccio molto a mano tutto da codice con precaricamento delle proprietà.

    Vedi tu.
  • Re: Report su un driver specifico

    @Alex ha scritto:


    Io mi sono fatto 3 Report A5/A4/A3.... e carico le impostazioni salvate... non faccio molto a mano tutto da codice con precaricamento delle proprietà.
    Vedi tu.
    Non capisco come fai, facciamo un esempio l'etichettatrice ha una marea di parametri 'strani', se deve tagliare o no l'etichetta, spazio tra le etichette, se deve usare l'eventuale ribbon ecc.
    Se imposto tutte queste carateristiche su un device che punta ad un certo IP, vorrei poi riportare le stesse caratteristiche su un device su un porta differente.
    Come fai a intercettare tutti questi parametri sul primo device configurato per impostarli poi sul secondo?
  • Re: Report su un driver specifico

    Non so se intercetto tutto quello che serve a te, ti avevo proposto il mio DEMO in cui potevi vedere cosa ho trovato, hai detto di non aver certezza ci fosse tutto...
    L'offerta è sempre valida.
Devi accedere o registrarti per scrivere nel forum
8 risposte