AccessTr.neT

Tam Versiyon: Rapor Boyutlarını Sabitleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
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?
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.
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.
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
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
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
Sayfalar: 1 2 3 4