Cetak Data Report dengan Visual Basic -“Report Width is Larger Than the Paper Width” pesan error yang sering kali membuat kita kesal ketika menampilkan atau mencetak data report dengan Visual basic 6.0. Hal ini terjadi karena lebar report yang sudah kita desain dengan Data Report melebihi lebar kertas yang tersedia, misalnya kita membuat sebuah report dalam bentuk landscape dan pada saat mencetak aplikasi yang kita buat tidak bisa merubah seting printer kita dari portrait menjadi landscape. Secara default Visual Basic tidak memiliki fasilitas untuk merubah setting default printer dari portrait menjadi landscape atau sebaliknya. Untuk mengatasi hal ini, kita bisa menggunakan “PageSet”
Persiapan dan Instalasi PageSet
Untuk kebutuhan diatas, persiapan yang perlu kita lakukan adalah :
Untuk kebutuhan diatas, persiapan yang perlu kita lakukan adalah :
1. Dapatkan dulu Komponen pageset.exe dari situs resmi Microsoft http://download.microsoft.com/download/vb60pro/utility/1/win98/en-us/pageset.exe atau kunjungi Group di Tutorial Visual Basic Indonesia. file ini merupakan file self-extactor yang berisi pageset.dll.
2. Setelah kita mendapatkan file tersebut, segera eksekusi.
3. Tentukan tempat peletakan file pageset.dll dengan klik Browse, misal di
C:\WINDOWS\SYSTEM32 atau dimana saja sesuai kebutuhan.
File - file Pageset |
4. Dari proses diatas, akan menghasilkan file-file berikut
5. Nah.. selesai sudah proses persiapan dan instalasinya.
6. Selanjutnya adalah membuat file project dengan Visual Basic untuk menguji pageset kita.
Pembuatan Project
Sekarang kita buat project standard exe baru, misalnya seperti dibawah ini
Selanjutnya, kita kenalkan pageset.dll dengan project kita, klik Menu Project – References, Browse untuk mengarahkan ke tempat penyimpanan file pageset.dll-nya, misal c:\windows\system32. Akhiri proses ini dengan klik OK.
Sebelum kita lanjut dengan form kita, kita siapkan dulu Report yang akan kita eksekusi dari
Desain form kita sebagai berikut:
form kita, misal kita beri nama DataReport1.
Desain form kita sebagai berikut:
Deklarasikan Variabel pageset pada General Declaration , misal
Dim cetak As New PageSet.PrinterControl
Pada tombol Preview (Command1 –Click), tuliskan kode berikut
Private Sub CmdPreview_Click()
If Potrait = True Then
cetak.ChngOrientationPortrait 'Rubah menjadi Portrait
Else
cetak.ChngOrientationLandscape 'Rubah menjadi Landscape
End If
DataReport1.LeftMargin = 10 'mengatur margin kiri
DataReport1.RightMargin = 10 'mengatur margin kanan
DataReport1.Show 'menampilkan data Report
End Sub
Pada tombol Cetak (Command2 –Click), tuliskan code berikut
Private Sub CmdCetak_Click()
If Potrait Then
Prn.ChngOrientationPortrait
Else
Prn.ChngOrientationLandscape
End If
DataReport1.LeftMargin = 10
DataReport1.RightMargin = 10
‘menampilkan dialog printer
DataReport1.PrintReport True ‘Mencetak data report degan
End Sub
Pada Form – Unload tuliskan kode berikut
Private Sub Form_Unload(Cancel As Integer)
'Mengembalikan default printer
cetak.ReSetOrientation
End Sub
Demikian bahasan kita untuk saat ini, semoga bermanfaat.