Sabtu, 16 Januari 2010

Setting Paper Size Crystal Report 8.5 Melalui Aplikasi/ Runnig Program


Terkadang ketika aplikasi melakukan cetak laporan sering kali terjadi ada beberapa bagian laporan tidak ikut tercetak. Salah satu penyababnya karena setting ukuran kertas kita tidak sesuai dengan format laporan yang dicetak, padahal sebelumnya sudah disetting dengan benar. Dan perubahan ukuran kertas itu terjadi salah satu penyebabnya adalah karena beda printer dengan setting laporan yang telah disetting sebelumnya. Kemudian kita melakukan pembenahan permasalah setting ukuran kertas pada printer tersebut dengan cara membuat ukuran kertas baru yang kemudian kita setting pada program dengan ukuran kertas tersebut, setelah itu program kita compile.
Masalahnya bagaimana apabila printer yang kita setting sebelumnya itu rusak kemudian user mengganti dengan printer baru dengan jenis yang berbeda, pasti kita akan melakukan langkah-langkah diatas lagi. Cara tersebut tidak ada salahnya, tapi kurang fleksible karena kita harus setting ulang program apabila terjadi perubahan jenis printer kemudian di compile lagi. Cara yang fleksible adalah dengan cara memanggil fungsi printer setting pada laporan crystal report. Di situ kita bisa memilih printer mana yang akan digunakan dan menggunakan kertas apa bentuk laporan kita. Caranya adalah sebagai berikut disini saya menggunakan visual basic 6.0 dengan Crystal repoty 8.5

Dim Report As New Lap_Penjualan
Dim m_Report As CRAXDDRT.Report

Private Sub CmdPrinter_Click()
m_Report.PrinterSetup Me.hwnd
CRViewer1.Refresh
End Sub

Private Sub Form_Load()
Set m_Report = Report
Screen.MousePointer = vbHourglass

Dim ADOComm As New ADODB.Command
Set DataBs = Nothing
DataBs.Open Connect
DataBs.CursorLocation = adUseClient

Set ADOComm= New ADODB.Command

ADOComm.ActiveConnection = Dbs
ADOComm.CommandType = adCmdText
ADOComm.CommandText = "Select * from Penjualan"
ADOComm.Execute


Set rec = New ADODB.Recordset
rec.Open ADOComm

m_Report.Database.SetDataSource rec

CRViewer1.ReportSource = m_Report
CRViewer1.ViewReport

Screen.MousePointer = vbDefault

End Sub

Mari kita bahas kode diatas, Perhatikan kode yang saya beri warna merah Dim m_Report As CRAXDDRT.Report. nahh…kode tersebut wajib dideklarasikan untuk menampung report nantinya. Yang akan kita setting ketika sub form_load() sehingga seperti ini Set m_Report = Report, seteleh kita melakukan koneksi kedatabse dan seleksi data yang akan ditampilkan ke report, seperti kode diatas. Kita setting lagi m_reportnya seperti ini m_Report.Database.SetDataSource rs, CRViewer1.ReportSource = m_Report. Perhatikan kode diatas yang berwarna merah. Setelah itu semua jangan lupa untuk menambah kan satu button untuk menampilkan printer setting kode nya seperti ini :

Private Sub CmdPrinter_Click()
m_Report.PrinterSetup Me.hwnd
CRViewer1.Refresh
End Sub

Maka ketika kita click button yang kita buat tadi maka akan mucul tampilan printer setting seperti ini :














Sehingga kita tinggal memilih printer apa yang akan digunakan, kertas apa yang digunakan. Klick OK otomatis laporan akan berubah formatnya sesuai dengan ketentuan yang telah kita lakukan. Kita tidak perlu setting perinter secara manual atau pawaktu design. Pada waktu program sudah running pun kita bisa merubah setting printer dan paper sizenya.
Oiya sobat untuk setting koneksi database dan seleksinya, kode diatas saya menggunakan ADO, nanti saya bahas pada postingan saya berikutnya membuat laporan menggunakan koneksi ADO.sobat bisa merubah sesuai dengan sobat biasanya gunakan, yang terpenting kode yang saya beri warna merah itu harus ada. Kode diatas saya menggunakan designers crytal report pada visual basic 6.0.

Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

1 comments: on "Setting Paper Size Crystal Report 8.5 Melalui Aplikasi/ Runnig Program"

Rian mengatakan...

gan, ada contoh projectnya kah tapi pake access gan....

Posting Komentar