otomatik yazıcı seçme

Katılım
2 Nisan 2006
Mesajlar
230
benim bilgisayarıma bağlı 2 adet yazıcı var hp ve panasonic benim isdeğim varsayılan yazıcı hp seçiliyse bile yaptığım access raporunu yazdırdığımda hiç soru sormadan direk panasonic yazıcıya göndersin bunu nasıl yapabilirim acaba
teşekürler............
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın hedefkaya,

Kodlar size yardımcı olacaktır:


Kod:
Private Sub cmdPrint_Click()
 Dim stWhere As String
' Raporun açık olup olmadığı kontrol ediliyor

If CurrentProject.AllReports("RaporAdı").IsLoaded Then
    ' Açık ise baskıya geç
    'Raporun belli bir kaydı bastırılacaksa hangi kayıt cümlesi   

    stWhere = "[ekıcıno]=" & Forms!ekıcı.ekıcıno
    
    DoCmd.OpenReport "RaporAdı", acViewNormal, , stWhere

Else
    ' Yazıcı ayarları
    Application.Printer = Application.Printers("PrinterAdı")
     'Printer ayarlarında kâğıt boyutunun sıra numarası
    Application.Printer.PaperSize = sayısal değer  
    '1 ise dikey 2 ise yatay
    Application.Printer.Orientation = 1
    ' Rapor bastırılmak üzere açılıyor
    stWhere = "[ekıcıno]=" & Forms!ekıcı.ekıcıno
    
    DoCmd.OpenReport Me!lbxSelectReport, acViewNormal, , stWhere

    ' Printer ayarları sıfırlanıyor.
    Set Application.Printer = Nothing
End If

End Sub
Eğer ön izleme için rapor açılacaksa aşağıdaki kodları da eklemeniz gerekir:
Kod:
Private Sub cmdPreview_Click()

Dim prt As Printer
Dim stWhere As String
' Grab the printer object for the selected printer.
Set prt = Application.Printers("YazıcıAdı")

' Read user-specified settings.
prt.PaperSize = Sayı
prt.Orientation = 1
stWhere = "[ekıcıno]=" & Forms!ekıcı.ekıcıno
' Open the report in preview mode.
DoCmd.OpenReport "RaporAdı", acViewPreview, , stWhere

' Set the report's printer to the modified printer object.
Reports("RaporAdı").Printer = prt

End Sub
İyi çalışmalar:)
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın hedefkaya,
Sayın modalı'nın belirttiği kodlarla yapılan işlem dışında çok basit bir yöntem de şu:

Raporunuzun tasarım modunda dosya/sayfa yapısı/sayfa sekmesi yolunu takip edin Altta orada yazıcı seçeneği var. Onu değiştirip bu raporun hangi yazıcıdan çıkmasını isterseniz onu seçin ve kaydedin. Bu yöntemle örneğin bir fatura programında faturanın direk olarak Dotmatrix bir devamlı form yazan yazıcıya, cari raporun ise usb üzerinden yine aynı makinedeki bir lazer yazıcıya gönderilmesini sağlayabilirsiniz. Süper olay değil mi?

Not: Hatta aynı anda iki yazıcıya ayrı ayrı raporları yazdırabilirsiniz.
 
Katılım
13 Nisan 2006
Mesajlar
47
sayın hocam ben buna benzer soru sormak için hazırlık yaparken soruln soruyu inceledim. Soruyu biraz daha değiştirmek istedim. ekli örneğimde iki tane rapor var ama yanlız ben değil diğer arkadaşlarıma da göndereceğimden onların kullandığı yazıcı model ve markalarını bilmiyorum. onlarında bu çalışmayı rahat kullaması için
1-yazıcı isimli formda bilgisayar üzerinde kurulu yazıcıları otomatik olarak görüp seçmeyi sağlamak,
2-bu seçilen yazıcıları sizin verdiğiniz örnek kodda tanımlamak

böyle birşey yapmak mümkünmüdür.

saygılarımla...
 

Ekli dosyalar

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karayilan,

Elbette mümkün.

Ekteki uygulamayı inceleyin. (Ah, ah tüm bu uygulamalar silinmeden önce vardı forumda)

İyi çalışmalar
 

Ekli dosyalar

Üst