Delen via


Het proces voor het selecteren van de printer voor een rapport in Microsoft Access automatiseren

Beginner: vereist kennis van de gebruikersinterface op computers met één gebruiker.

Dit artikel is van toepassing op een Microsoft Access-databasebestand (.mdb) of Microsoft Access-databasebestand (.accdb).

Samenvatting

Als u een rapport naar een bepaalde printer wilt afdrukken, kunt u de printer en alle afdrukopties handmatig selecteren, of u kunt het proces automatiseren, zodat u met één klik op de knop kunt schakelen tussen printers en vervolgens uw rapport kunt afdrukken met de vooraf gedefinieerde opties. In dit artikel wordt uitgelegd hoe u het proces van printerselectie automatiseert.

Meer informatie

In deze procedure worden twee voorbeelden gebruikt:

  • Afdrukken op een laserprinter.
  • Afdrukken naar een dot-matrixprinter.

U kunt de specifieke printers vervangen die u wilt gebruiken. Voer de volgende stappen uit om het proces van printerselectie voor een bepaald rapport te automatiseren:

  1. Maak de volgende drie rapporten:

    • rptLaserPrinter
    • rptDotMatrix
    • rptMyReport

    Opmerking

    rptMyReport vertegenwoordigt het werkelijke rapport dat u wilt afdrukken.

  2. Voer de volgende stappen uit om de printeropties in te stellen:

    1. Open rptLaserPrinter in de ontwerpweergave.

    2. Klik in het menu Bestand op Afdrukken.

      Opmerking

      Klik in Access 2007 of een latere versie op de knop Microsoft Office en klik vervolgens op Afdrukken.

    3. Klik in het dialoogvenster Afdrukken op de laserprinter die u wilt gebruiken in het vak Naam en klik vervolgens op OK.

    4. Klik op Eigenschappen, stel de gewenste afdrukopties in, zoals de afdrukstand en het papierformaat, en klik vervolgens op OK.

    5. Herhaal de stappen a tot en met d voor rptDotMatrix. Klik op de puntmatrixprinter in stap c.

  3. Klik in het venster Database op Modules, klik op Nieuw en typ de volgende functie:

    Opmerking

    Klik in Access 2007 of een latere versie op Module in de groep Overige op het tabblad Maken .

    Function ChangePrinter(rptToChange As String, rptPrinter As String)
    
    Dim rpt1 As Report, rpt2 As Report
    
    DoCmd.OpenReport rptToChange, acViewDesign
    DoCmd.OpenReport rptPrinter, acViewDesign
    
    Set rpt1 = Reports(rptToChange)
    Set rpt2 = Reports(rptPrinter)
    
    rpt1.PrtDevNames = rpt2.PrtDevNames
    
    DoCmd.Close acReport, rptPrinter, acSaveNo
    DoCmd.OpenReport rptToChange, acViewPreview
    End Function
    

    Opmerking

    De functie ChangePrinterkopieert de eigenschap PrtDevNames van het ene rapport naar het andere. Vervolgens kunt u de afdrukopties die u hebt ingesteld voor de rapporten rptLaserPrinter en rptDotMatrix kopiëren naar een specifiek rapport dat u wilt afdrukken.

    De eigenschap acSaveNo wordt gebruikt in de DoCmd.Close acReport, rptPrinter, acSaveNo regel van de code. Als u deze optie niet gebruikt en u de PrtDevName van een niet-standaardprinter opslaat in het rapportontwerp, kan het rapport de printer niet vinden wanneer deze de volgende keer wordt uitgevoerd. U ontvangt het volgende foutbericht:

    Dit document was eerder opgemaakt voor de printer <PrinterName> op <Poort>, maar die printer is niet beschikbaar. Wilt u de standaardprinter <DefaultPrinterName> op <poort> gebruiken?

  4. Sla de module op als Module1 en sluit vervolgens de Visual Basic-Editor af.

  5. Maak het volgende formulier:

    Form: frmForm1
    ------------------------------
    RecordSource: Unbound
    
    Control Type: Command Button
    Name: cmdLaser
    Caption: Laser
    Control Type: Command Button
    Name: cmdDotMatrix
    Caption: Dot Matrix
    
  6. Klik in het menu Beeld op Code.

    Opmerking

    Klik in Access 2007 en hoger op Code weergeven in de groep Extra op het tabblad Ontwerpen .

  7. Typ in de Visual Basic-Editor de volgende procedures:

    Private Sub cmdLaser_Click ()
    
    Call ChangePrinter("rptMyReport", "rptLaserPrinter")
    DoCmd.PrintOut
    
    End Sub
    
    Private Sub cmdDotMatrix_Click ()
    
    Call ChangePrinter("rptMyReport", "rptDotMatrix")
    DoCmd.PrintOut
    
    End Sub
    
  8. Sluit de Visual Basic-Editor en wijzig de eigenschap Bij klikken van beide opdrachtknoppen in [Gebeurtenisprocedure]. Ga hiervoor als volgt te werk:

    1. Klik in de ontwerpweergave op de opdrachtknop en klik vervolgens op Eigenschappen in het menu Beeld .

      Klik in Access 2007 of een latere versie op de opdrachtknop in de ontwerpweergave en klik vervolgens op Eigenschappenvenster in de groep Extra op het tabblad Ontwerpen .

    2. Klik op het tabblad Gebeurtenis , klik op de eigenschap Bij klikken , klik op de pijl-omlaag en klik vervolgens op [Gebeurtenisprocedure].

  9. Als u rptMyReport wilt afdrukken naar een specifieke printer, opent u frmForm1 in de formulierweergave en klikt u vervolgens op de juiste knop.

Verwijzingen

Zie PrtDevMode Property voor meer informatie over het beheren van uw printer vanuit Microsoft Access.