AccessTr.neT
Rapor Boyutlarını Sabitleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Rapor Boyutlarını Sabitleme (/konu-rapor-boyutlarini-sabitleme.html)

Sayfalar: 1 2 3 4


Rapor Boyutlarını Sabitleme - ates2014 - 03/11/2020

Merhaba arkadaşlar,
pc ye format atıldığında veya prg başka pc ye taşındığında raporların boyutları değişiyor,
bu rapor boyutlarını bir tabloya kaydetsek, bu sorunlardan kurtulabilirmiyiz?
nasıl bir kod yazmamız gerekir?


RE: Rapor Boyutlarını Sabitleme - alicimri - 03/11/2020

Sorunu tam anlayamadım. Ancak yapmaya çalıştığınız çalışmanın sorunu çözeceğini düşünmüyorum. Tasarlarken belirlediğiniz boyut değerleri, format sonucu veya başka bir PC'de değişmez.


RE: Rapor Boyutlarını Sabitleme - ates2014 - 03/11/2020

Akşam evde prg la uğraşıyorum, değişikler yapıyorum,
gönderiyorum işyerine rapor formatı değişmiş, bu rapor format olayını tasarımı açmadan sabitlemek istedim.


RE: Rapor Boyutlarını Sabitleme - berduş - 03/11/2020

aşağıda bazı yazıcı ayarları var düzenleme verilerini tablodan alabilirler ama çalışabilmesi için ya tablodaki verilerin accessin anlayacağı yapıya dönüştürülmesi yada çalışma anında if yada case gibi kontrol komutlarıyla accessin anlayacağı komutlara çevrilmesi gerekir
Dim prt As accessobject
Set prt = Reports(RaporAdı).Report
With prt
        .Printer = Application.Printers(YazıcıAdı)
        .Printer.TopMargin = AlanT!Üst
        .Printer.BottomMargin = YaziciAyar!Alt
        .Printer.LeftMargin = YaziciAyar!Sol
        .Printer.RightMargin = YaziciAyar!Sağ
        .Printer.PaperSize = YaziciAyar!Boyut
        .Printer.Orientation=YaziciAyar!Yataydikey
        .Printer.PaperSize = YaziciAyar!Boyut
End With

bu arada ben de @alicimri hocam gibi biliyorum raporu tasarlarken zaten yazıcı çıktısına göre ayar yapılıyor bilgisayardan bağımsız


RE: Rapor Boyutlarını Sabitleme - ates2014 - 03/11/2020

Sayın berduş hocam,
tablodaki bilgileri bu şekilde her raporun içine alsam,
nasıl komut vermem gerek ?
Sub ayarlar()
.Printer.TopMargin = Dlookup ("Ust", "TblRaporBoyut", "RaporAdi='" & Me.Name & "'")
.Printer.BottomMargin = Dlookup ("Alt", "TblRaporBoyut", "RaporAdi='" & Me.Name & "'")
.Printer.LeftMargin = Dlookup ("sol", "TblRaporBoyut", "RaporAdi='" & Me.Name & "'")
.Printer.RightMargin = Dlookup ("sağ", "TblRaporBoyut", "RaporAdi='" & Me.Name & "'")
.Printer.PaperSize = Dlookup ("Boyut", "TblRaporBoyut", "RaporAdi='" & Me.Name & "'")
' .Printer.Orientation = YaziciAyar!Yataydikey
' .Printer.PaperSize = YaziciAyar!Boyut
' .Printer = Application.Printers(YazıcıAdı)

End Sub


RE: Rapor Boyutlarını Sabitleme - berduş - 03/11/2020

Oncelikle tablo yapiniz degismeli bence
1 - yatay ve dikey icin 2 farkli alana gerek yok, bu 2 alani birlestirip verileri oyle kaydetmelisiniz
Bu alandaki veriler accessin anlayacagi yapida olmali mesela portrait/dikey icin 1 landscape/yatay icin 2 gibi
2 - boyut icin farkli bir tablo daha olusturup buradan degerleri almalisiniz ki Access olculerin anlamini anlayabilsin
Aşağıdaki bağlantıları inceleyebilirsiniz
http://etutorials.org/Microsoft+Products/access/Chapter+5.+Printers/Recipe+5.4+Programmatically+Change+Printer+Options/
https://docs.microsoft.com/tr-tr/office/vba/api/Access.AcPrintPaperSize
https://docs.microsoft.com/en-us/office/vba/api/access.printer.papersize