Microsoft Access'te bir rapor için yazıcıyı seçme işlemini otomatikleştirme

Not

Office 365 ProPlus, Microsoft 365 Kurumsal Uygulamaları olarak yeniden adlandırılıyor. Bu değişiklik hakkında daha fazla bilgi için, bu blog yazısını okuyun.

Acemi: Tek kullanıcılı bilgisayarlarda kullanıcı arabirimi bilgisi gerektirir.

Bu makale, bir Microsoft Access veritabanı (.mdb) dosyası veya bir Microsoft Access veritabanı (.accdb) dosyası için geçerlidir.

Özet

Belirli bir yazıcıya rapor yazdırmak istiyorsanız, yazıcıyı ve tüm yazdırma seçeneklerini el ile seçebilir veya bir düğmeye tıklayarak yazıcıları değiştirip önceden tanımladığınız seçeneklerle raporunuzu yazdırabilmeniz için işlemi otomatikleştirebilirsiniz. Bu makalede, yazıcı seçimi işleminin nasıl otomatikleştirilen açıklanmaktadır.

Daha fazla bilgi

Bu yordam iki örnek kullanır: lazer yazıcıya yazdırma ve nokta vuruşlu yazıcıya yazdırma. Kullanmak istediğiniz belirli yazıcıları değiştirebilirsiniz. Belirli bir rapor için yazıcı seçimi işlemini otomatikleştirmek için aşağıdaki adımları izleyin:

  1. Aşağıdaki üç rapor oluşturun:

    • rptLaserPrinter
    • rptDotMatrix
    • rptMyReport
      NOT rptMyReport yazdırmak istediğiniz gerçek raporu temsil eder.
  2. Yazıcı seçeneklerini ayarlamak için aşağıdaki adımları izleyin:

    1. Tasarım görünümünde rptLaserPrinter'i açın.

    2. Dosya menüsünde Yazdır'ıtıklatın.

      Not Access 2007 veya daha sonraki bir sürümde, Microsoft Office Düğmesi'nitıklatın ve ardından Yazdır'ıtıklatın.

  3. Yazdır iletişim kutusunda, Ad kutusunda kullanmak istediğiniz lazer yazıcıyı tıklatın ve ardından Tamam'ıtıklatın.

  4. Özellikler'i tıklatın, yönlendirme ve kağıt boyutu gibi istediğiniz yazdırma seçeneklerini ayarlayın ve ardından Tamam'ı tıklatın.

  5. RptDotMatrix için d'ye doğru adımları tekrarlayın. Adım c'deki nokta vuruşlu yazıcıyı tıklatın.

  6. Veritabanı penceresinde, Modüller'i tıklatın, Yeni'yi tıklatın ve ardından aşağıdaki işlevi yazın:

    Not Access 2007'de veya daha sonraki bir sürümde, Oluştur sekmesindeki Diğer gruptaki Modül'e tıklayın.

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

NOT ChangePrinter işlevi PrtDevNames özelliğini bir rapordan diğerine kopyalar. Daha sonra rptLaserPrinter ve rptDotMatrix raporları için ayarladığınız yazdırma seçeneklerini yazdırmak istediğiniz belirli bir rapora kopyalayabilirsiniz.

NOT "acSaveNo" özelliği, bu bölümde daha önce gösterilen kodun "DoCmd.Close acReport, rptPrinter, acSaveNo" satırında kullanılır. Bu seçeneği kullanmaz sanız ve varsayılan olmayan bir yazıcının PrtDevName'sini rapor tasarımına kaydederseniz, rapor bir sonraki çalıştığında yazıcıyı bulamaz. Aşağıdaki hata iletisini alacaksınız:

This document was previously formatted for the printer <PrinterName> on <Port>; but that printer isn't available. Do you want to use the default printer <DefaultPrinterName> on <Port>?   
  1. Modülü Modül1olarak kaydedin ve visual basic düzenleyiciden çıkın.

  2. Aşağıdaki formu oluşturun:

    Form: frmForm1
    ------------------------------
    RecordSource: Unbound
    
    Control Type: Command Button
    Name: cmdLaser
    Caption: Laser
    Control Type: Command Button
    Name: cmdDotMatrix
    Caption: Dot Matrix
    
  3. Görünüm menüsünde Kod'utıklatın.

    Not Access 2007 ve sonraki durumlarda, Tasarım sekmesindeki Araçlar grubunda Kodu Görüntüle'yi tıklatın.

  4. Visual Basic Editor'da aşağıdaki yordamları yazın:

Private Sub cmdLaser_Click ()

Call ChangePrinter("rptMyReport", "rptLaserPrinter")
  DoCmd.PrintOut

End Sub

Private Sub cmdDotMatrix_Click ()

Call ChangePrinter("rptMyReport", "rptDotMatrix")
  DoCmd.PrintOut

End Sub

  1. Visual Basic Düzenleyicisi'nden çıkın ve sonra her iki komut düğmesinin Tıklat özelliğini [Olay Yordamı] olarak değiştirin. Bunu yapmak için aşağıdaki adımları izleyin:

    1. Tasarım görünümünde komut düğmesini tıklatın ve ardından Görünüm menüsünde Özellikler'i tıklatın.

      Not Access 2007'de veya daha sonraki bir sürümde, tasarım görünümündeki komut düğmesini tıklatın ve ardından Tasarım sekmesindeki Araçlar grubunda Özellik Sayfası'nı tıklatın.

    2. Olay sekmesini tıklatın, Tıklat maa'yı tıklatın, aşağı ok'u tıklatın ve sonra [Olay Yordamı]'nu tıklatın.

  2. RptMyReport'u belirli bir yazıcıya yazdırmak için Form görünümünde frmForm1'iaçın ve ardından uygun düğmeyi tıklatın.

Başvuru

Microsoft Access'ten yazıcınızı nasıl denetleriz hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:

PrtDevMode Özelliği