Megosztás a következőn keresztül:


Jelentés nyomtatójának kiválasztásának automatizálása a Microsoft Accessben

Kezdő: A felhasználói felület ismeretét igényli az egyfelhasználós számítógépeken.

Ez a cikk egy Microsoft Access-adatbázis (.mdb) vagy Microsoft Access-adatbázisfájlra (.accdb) vonatkozik.

Összefoglalás

Ha egy jelentést egy adott nyomtatóra szeretne nyomtatni, manuálisan kiválaszthatja a nyomtatót és az összes nyomtatási beállítást, vagy automatizálhatja a folyamatot, hogy egy kattintással váltson a nyomtatók között, majd nyomtassa ki a jelentést az előre megadott beállításokkal. Ez a cikk azt ismerteti, hogyan automatizálhatja a nyomtatóválasztás folyamatát.

További információ

Ez az eljárás két példát használ:

  • Nyomtatás lézernyomtatóra.
  • Nyomtatás pontmátrix-nyomtatóra.

Helyettesítheti a használni kívánt nyomtatókat. Egy adott jelentés nyomtatóválasztási folyamatának automatizálásához kövesse az alábbi lépéseket:

  1. Hozza létre a következő három jelentést:

    • rptLaserPrinter
    • rptDotMatrix
    • rptMyReport

    Megjegyzés:

    Az rptMyReport a nyomtatni kívánt jelentést jelöli.

  2. A nyomtató beállításainak beállításához kövesse az alábbi lépéseket:

    1. Nyissa meg az rptLaserPrinter fájlt Tervező nézetben.

    2. Kattintson a Fájl menü Nyomtatás parancsára.

      Megjegyzés:

      Az Access 2007-es vagy újabb verziójában kattintson a Microsoft Office gombra, majd a Nyomtatás gombra.

    3. A Nyomtatás párbeszédpanelen kattintson a Név mezőben használni kívánt lézernyomtatóra, majd kattintson az OK gombra.

    4. Kattintson a Tulajdonságok gombra, adja meg a kívánt nyomtatási beállításokat, például a tájolást és a papírméretet, majd kattintson az OK gombra.

    5. Ismételje meg az a–d lépést az rptDotMatrix esetében. Kattintson a pontmátrix nyomtatóra a c lépésben.

  3. Az Adatbázis ablakban kattintson a Modulok, majd az Új elemre, majd írja be a következő függvényt:

    Megjegyzés:

    Az Access 2007-es vagy újabb verziójában kattintson a Modul elemre a Létrehozás lap Egyéb csoportjában.

    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
    

    Megjegyzés:

    A ChangePrinter függvény átmásolja a PrtDevNames tulajdonságot az egyik jelentésből a másikba. Ezután átmásolhatja az rptLaserPrinter és az rptDotMatrix jelentéshez megadott nyomtatási beállításokat egy nyomtatni kívánt jelentésbe.

    Az acSaveNo tulajdonság a DoCmd.Close acReport, rptPrinter, acSaveNo kód sorában használatos. Ha nem használja ezt a beállítást, és egy nem alapértelmezett nyomtató PrtDevName értékét menti a jelentéstervbe, a jelentés nem fogja tudni megtalálni a nyomtatót a következő futtatáskor. A következő hibaüzenet jelenik meg:

    Ez a dokumentum korábban nyomtatónévként> lett formázva a <porton<>, de ez a nyomtató nem érhető el. Az alapértelmezett defaultPrinterName nyomtatót <szeretné használni a porton<>?>

  4. Mentse a modult Module1 néven, majd lépjen ki a Visual Basic Szerkesztő.

  5. Hozza létre a következő űrlapot:

    Form: frmForm1
    ------------------------------
    RecordSource: Unbound
    
    Control Type: Command Button
    Name: cmdLaser
    Caption: Laser
    Control Type: Command Button
    Name: cmdDotMatrix
    Caption: Dot Matrix
    
  6. A Nézet menüben kattintson a Kód elemre.

    Megjegyzés:

    Az Access 2007-ben és újabb verzióiban kattintson a Tervezés lap Eszközök csoportjában a Kód megtekintése elemre.

  7. A Visual Basic Szerkesztő írja be a következő eljárásokat:

    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. Lépjen ki a Visual Basic Szerkesztő, majd módosítsa mindkét parancsgomb Kattintásra tulajdonságát [Event Procedure] értékre. Ehhez kövesse az alábbi lépéseket:

    1. Tervező nézetben kattintson a parancsgombra, majd a Nézet menü Tulajdonságok parancsára.

      Az Access 2007-es vagy újabb verziójában kattintson a tervező nézetben a parancsgombra, majd a Tervezés lap Eszközök csoportjában kattintson a Tulajdonságlap elemre.

    2. Kattintson az Esemény fülre, kattintson a Kattintásra tulajdonságra, kattintson a lefelé mutató nyílra, majd az [Esemény eljárása] elemre.

  9. Ha az rptMyReportot egy adott nyomtatóra szeretné nyomtatni, nyissa meg az frmForm1 fájlt Űrlap nézetben, majd kattintson a megfelelő gombra.

Hivatkozások

A nyomtató Microsoft Accessből való vezérléséről további információt a PrtDevMode tulajdonság című témakörben talál.