Rapor Boyutlarını Sabitleme

1 2 3 4
03/11/2020, 07:54

ates2014

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?
03/11/2020, 09:29

alicimri

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.
03/11/2020, 10:57

ates2014

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.
03/11/2020, 11:21

berduş

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
03/11/2020, 13:06

ates2014

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
03/11/2020, 13:30

berduş

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...r+Options/
https://docs.microsoft.com/tr-tr/office/...tPaperSize
https://docs.microsoft.com/en-us/office/....papersize
1 2 3 4