Rabu, 30 Maret 2011

Mencetak Landscape pada DataReport

Pernahkah anda mencetak laporan pada VB kemudian mendapatkan debug "Report is longer than the  width paper" yang menunjukkan bahwa laporan yang anda setting di datareport itu jauh lebih besar ukurannya daripada kertas anda? dan hasilnya, ketika anda mengklik OK pada kolom dialog tersebut yang muncul hanyalah sehampar halaman berwarna putih. Dimana laporan saya? tanya anda mungkin dalam hati...tenang saja hehehe...laporan anda pasti tetap ada, hanya saja karena laporan anda kapasitas ukurannya lebih lebar daripada ukuran muatan kertas, maka VB tidak memunculkannya alias tidak dapat mengeksekusinya.

Memang secara default, Datareport ( dulu karena seringnya bertemu debug seperti ini, saya sering memplesetkannta menjadi DATA REPOT ) hanya dapat mengeksekusi laporan dalam bentuk Portrait / tegak, itupun dengan batasan margin kiri kanan atas bawah yang harus diwaspadai pula sehingga laporan yang dibuat tentu akan terbatas dan tidak bisa dibuat dalam bentuk memanjang /landscape.

lantas bagaimana agar kita dapat mencetak secara memanjang/landscape pada visual basic dengan menggunakan DataReport ?
 
caranya gampang dan sangat sederhana sekali hehehehe...anda tinggal menambahkan komponen pageset didalam project anda. tapi jangan salah, komponen pageset ini tidak tersedia secara default di komponen VB anda sehingga anda tentu harus menginstalnya terlebih dahulu. mau mencoba? ikuti langkah-langkah berikut ini :

Persiapan dan Instalasi PageSet
Untuk kebutuhan diatas, persiapan yang perlu kita lakukan adalah :
1. Mengunduh/download file pageset.exe dari situs resmi Microsoft
http://download.microsoft.com/download/vb60pro/utility/1/win98/en-us/pageset.exe
file ini merupakan file self-extactor yang berisi pageset.dll.
2. Setelah kita mendapatkan file tersebut, segera eksekusi.

Tentukan tempat peletakan file pageset.dll dengan klik Browse, misal di
C:\WINDOWS\SYSTEM32 atau dimana saja sesuai kebutuhan.
3. Dari proses diatas, akan menghasilkan file-file berikut
Nama File Ukuran
PageSet.dll 1KB
PageSet.vbp 1KB
frmSit.frm 1KB
Orient.bas 8KB
PrinterControl.cls 1KB
Readme.txt 1KB
Nah.. selesai sudah proses persiapan dan instalasinya.
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 ketempat penyimpanan filepageset.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
form kita, misal kita beri nama DataReport1.
Desain form kita sebagai berikut:

Deklarasikan Variabel pageset pada General Declaration , missal
Dim cetak As New PageSet.PrinterControl

Pada tombol Preview (Command1 –Click), tuliskan kode berikut
Private Sub Command1_Click()
If Option1 = 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 Command2_Click()
If Option1 Then
Cetak.ChngOrientationPortrait
Else
Cetak.ChngOrientationLandscape
End If
DataReport1.LeftMargin = 10
DataReport1.RightMargin = 10
DataReport1.PrintReport True ‘Mencetak data report degan
‘menampilkan dialog printer
End Sub

Pada Form – Unload tuliskan kode berikut
Private Sub Form_Unload(Cancel As Integer)
cetak.ReSetOrientation 'Mengembalikan default printer
End Sub

Selamat mencoba dan semoga berhasil :)

31 komentar:

  1. uda sy coba pak tp tetap sj data reportku tidak bisa berubah jadi lanscape pada hal sy uda jalankan smua yang jadi istruksi bpk. Kira2 apanya yang salah ya pak??//mohon bantuannya. widya

    BalasHapus
  2. thx banget klw di kasih bentuk form nya jadi jelas nih.........dulu saya dapet di kasih codingnya aja tanpa kasih formnya....thx

    BalasHapus
  3. muh.gafri...maksih atas artikelnya pak

    BalasHapus
  4. @Anonim
    pada listing diatas masih terdapat kekurangan yakni pada private sub command2...dibawahnya harusnya listingnya "If Option1=True then", diatas hanya tertulis "If Option1 then"

    BalasHapus
  5. ISLAMUDDIN.Z
    28 192 5071 031
    MAKASIH PAK......

    BalasHapus
  6. makasih pak atas materinya.......
    ERNA WAHYU LESTARI
    28 1925 071 016

    BalasHapus
  7. makasih pak atas materinya...
    ERNA WAHYU LESTARI
    28 1925 071 016

    BalasHapus
  8. Assalam,,, Postingan Relasix dong pak...

    BalasHapus
  9. ISLAMUDDIN.Z
    28 192 5071 031
    MAKASI PAK.....

    BalasHapus
  10. cetak, relasi sm package nx pak....Herawati

    BalasHapus
  11. maksih pak...rahman amik

    BalasHapus
  12. Asslmu alikum Wr_Wb.
    Burhanuddin
    281925071013
    yang saya blum tau pak cara merelasikan tabel dan listingnya.
    makasi pak sbelumnya.

    BalasHapus
  13. cara pilter data menggunakan data repot.by amiruddin

    BalasHapus
  14. assalamu alaikum wbr,terima kasih atas kesempatn yg di berikn kpd saya untk dapt aktf bersama-sama teman-teman dalam hal komentar blog bapak dan tak lupa saya bilang sama bapk,mengenai tugas program aku udah di kumpul lwt tmn-tmn dn jangn lupa ya pak hadirka juga lwt blog bapk,by KAHARUDDIN,NIM:032.mksh ya pak.............!!!

    BalasHapus
  15. terima kasi atas materinya.muh.hatta

    BalasHapus
  16. makasi pa kismanuddin

    BalasHapus
  17. M.JUPRI A. SMS VI
    pak mauka tanya masalah filter crystal report..?

    BalasHapus
  18. saya pak MAHAYUDDIN NIMKU 281925071043 MAT MALAM PAK SEMOGA SUKSES SELALU

    BalasHapus
  19. Mat Malam pak...! Saya HASNAPIAH,S Dan ini Nimnya: 281925071094, Saya maw minta nilai yang bagus dari pada sebelumnya maksudnya,,,! pengen nilai B, Makazieh ya pak atas semuanya mudah-mudahan bapak semakin sukses untuk kedepannya....!

    BalasHapus
  20. asss..pak knpa pageset yg sya download gak bisa di instal mohon petunjuknya..maksih...

    BalasHapus
  21. pak knpa pageset yg saya download gak bisa di instal mohon petunjuk..mkasih..

    BalasHapus
  22. kenapa sy debug d listing cetak.,,,,,
    cetaknya itu properti apa?gk ngerti sy..mhon bantuannya

    BalasHapus
    Balasan
    1. coba periksa kembali...mungkin ada yg salah ketik...
      atau cek kembali komentar koreksi sy diatas...
      good luck

      Hapus
  23. Makasiiihhhh Mazz....
    ...We loph uuuu..
    hehehhehe

    BalasHapus
  24. mas boleh nanyak gk


    bisa gk tampilan data grid di cetak melalui cristal report

    mohon bantuannya

    BalasHapus
    Balasan
    1. Bisa...data yang muncul dari datagrid sejatinya adalah data atau recordset yang terdapat didalam tabel. sehingga dengan demikian otomatis dapat dicetak dengan menggunakan crystalreport.

      agar Crystalreport include kedalam visualbasic anda sebaiknya anda menggunakan Crystal report 8.5.

      versi diatasnya anda harus mengkoneksikannya secara manual...

      Hapus
  25. Kasih Contoh yg lebih sederhana lg Pak

    BalasHapus
  26. ass...
    mau tnya nich...
    kok g' bsa connect ya pageset nya untuk windows 7?...
    mohon solusi & bantuanya...

    BalasHapus
  27. Terima kasih atas infonya, bermanfaat sekali artikelnya, sukses selalu, kami tunggu info selanjutnya :)

    BalasHapus