5 sayfalı ve 3 kopyalı yazdırma işlemi için basılan sayfalar yazıcının harmanla özelliği mevcut ise veya Harmanlama açık ise 1,2,3,4,5 – 1,2,3,4,5 – 1,2,3,4,5 şeklinde yazdırılır.
Eğer yazıcının harmanla özelliği mevcut ise veya Harmanlama kapalıysa 1,1,1 – 2,2,2 – 3,3,3 – 4,4,4 – 5,5,5 şeklinde yazdırılır.
DoCmd.OpenReport "R_MAKBUZ", acViewPreview
DoCmd.PrintOut acPrintAll, , , , 3
DoCmd.Close acReport, "R_MAKBUZ"
veya
DoCmd.OpenReport "R_MAKBUZ", acViewPreview
DoCmd.PrintOut acPrintAll, , , , 3, True
DoCmd.Close acReport, "R_MAKBUZ"
kodunu kullanırsan raporu 1,2,3,4,5 – 1,2,3,4,5 – 1,2,3,4,5 şeklinde yazdırılır.
DoCmd.OpenReport "R_MAKBUZ", acViewPreview
DoCmd.PrintOut acPrintAll, , , , 3, False
DoCmd.Close acReport, "R_MAKBUZ"
kodunu kullanır isen yazıcının harmanla özelliği mevcut ise sayfayı 1,1,1 – 2,2,2 – 3,3,3 – 4,4,4 – 5,5,5 şeklinde yazdırır.
EĞER YAZICININ HARMANLA ÖZELLİĞİ YOK İSE
Raporda, ayrıntının "Yazıldığında" olayına aşağıdaki kodu ekle
Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer)
SayfaSayisi = Me.Pages
End Sub
Yeni modül oluştur, modüle aşağıdaki kodu ekle
Option Compare Database
Option Explicit
Global SayfaSayisi As String
Public Function HarmanlamadanYazdir(KopyaSayisi, RaporAdi As String)
Dim SayfaNumarasi, SayfaYazdir As Integer
DoCmd.OpenReport RaporAdi, acViewPreview
DoCmd.Close acReport, RaporAdi
For SayfaNumarasi = 1 To SayfaSayisi
For SayfaYazdir = 1 To KopyaSayisi
DoCmd.SelectObject acReport, RaporAdi, True
DoCmd.PrintOut acPages, SayfaNumarasi, SayfaNumarasi
Next SayfaYazdir
Next SayfaNumarasi
End Function
Modülü Kaydet
Formda bulunan yazdırma butonuna da aşağıdaki kodu ekle.
Call HarmanlamadanYazdir(2, "TBL_KONUT")
Üstteki 2, yazdırma sayısıdır. Forma metin kutusu (mtn_kopyasayisi) ekleyip yazdırma sayısını belirleyeceksen kod aşağıdaki gibi olmalıdır.
Call HarmanlamadanYazdir([mtn_kopyasayisi], "TBL_KONUT")
Ayrıca, cevabı bu sitede arayanlara da fazla itibar etmeyiniz.