Anda di halaman 1dari 24

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Mengenal Crystal Report 8.0


Crystal report merupakan salah satu product report designer yang banyak digunakan oleh para developer. Crystal report merupakan produk dari perusahaan Seagate. Crystal report tersedia langsung pada Visual Basic 4.0 dan 5.0, tetapi pada Visual Basic 6.0 telah diganti dengan Data Report yang dibuat oleh Microsoft. Pada Visual Basic 6.0, pada dasarnya Crystal report dapat diinstall secara terpisah dari folder \Misc yang merupakan versi 5.0. Menjalankan Crystal Report 1. Dari Start, pilih Programs, pilih Seagate Crystal Report. 2. Akan muncul suatu Dialog box Welcome

3. Anda dapat memilih Using Report Expert untuk pembuatan report secara step by step. 4. Step 1 5. Kemudian akan muncul dialog Choose an Expert, dan pilihlah Standard. 6. Kemudian akan muncul Standard Report Expert, yang memiliki 8 step, yaitu : Data, Fields, Group, Total, TopN, Chart, Select, Style. 7. Klik pada Database, dan akan muncul dialog Database Explorer. Klik pada Database Files, dan Double Klik pada Find Database File. 8. Pilih Pentacom.mdb, dan masukkan password yang sesuai, sehingga menjadi :

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

9. Klik pada tabel Barang, dan klik Add untuk memasukan tabel ke report. 10. Step 2 11. Klik pada Fields, dan masukkan field-field yang diinginkan. Anda dapat juga mengubah judul untuk masing-masing kolom dengan mengatur Column Heading. 12. Step 8 13. Klik pada Style, dan pada Title ketik Laporan Data Pemasok, dan pilihlah Style yang sesuai dengan keinginan anda. 14. Klik pada Preview Report untuk melihat hasil. Mendesign report hasil Report Expert. Klik pada tab design dan akan menampilkan layar design

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Report Header, tulisan yang akan ditampilkan pada halaman pertama Report. Page Header, tulisan yang akan ditampilkan pada awal tiap halaman. Details, merupakan baris-baris yang berasal dari field-field dalam tabel. Report Footer, tulisan yang akan ditampilkan pada halaman terakhir. Page Footer, tulisan yang akan ditampilkan pada akhir tiap halaman. Menyimpan design report ke file Menyimpan report dilakukan seperti biasanya dengan menu File, Save kesebuah file dengan extension rpt. Menampilkan report dari Project Visual Basic Untuk menampilkan Crystal Report ke project anda dapat dilakukan dengan menggunakan komponen Crystal Report Viewer Control melalui menu Project, Components, dan Reference ke Crystal Report 8 Activex Designer runtime library CRviewer 1. Tanamkan kontrol CRViewer ke Form anda

2. Lakukan koding sebagai berikut : Dim xApp As New CRAXDRT.Application Dim xRpt As CRAXDRT.Report Dim xDbf As CRAXDRT.DatabaseTable Private Sub Form_Load() Set xRpt = xApp.OpenReport("C:\Workshop\Pemasok.rpt") If xTitle <> "" Then xRpt.ReportTitle = xTitle End If For Each xDbf In xRpt.Database.Tables xDbf.SetLogOnInfo "", "", "", "Pentacom"

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

xDbf.Location = "C:\Pentacom.Mdb" Next On Error GoTo Keluar xRpt.DiscardSavedData CRViewer1.ReportSource = xRpt CRViewer1.ViewReport Exit Sub Keluar: MsgBox "Ada Masalah Dengan Laporan !!", vbInformation, "PERHATIAN" End Sub Private Sub Form_Resize() CRViewer1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight End Sub Membatasi data dengan Selection Formula Anda dapat membatasi data pada saat runtime dengan menggunakan RecordSelectionFormula xRpt.RecordSelectionFormula = "{Pemasok.KodePemasok} >= '001' And {Pemasok.KodePemasok} <= '100'"

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Membuat report dengan Crystal Report


Jika pada pertemuan sebelumnya kita telah belajar bagaimana membuat report dengan menggunakan Report Expert, maka pada pertemuan ini kita akan membuat report dengan melakukan design secara langsung. Melakukan design dengan Crystal Report 1. Pada dialog Welcome to Seagate Crystal Reports pilih As a blank report. 2. Pada dialog Data Explorer, klik pada DataFiles,, dan double klik pada Find Database File. 3. Selanjutnya buka database C:\Pentacom.mdb dan password : Pentacom. 4. Klik pada tabel barang dan klik Add

5. Pada menu File, klik pada Summary Info, dan ketikan Laporan Data Barang pada field Title. 6. Pada field explorer, Special fields, Drag Report Title ke bagian Page Header, dan lakukan drag field KodeBarang, NamaBarang, Satuan, HargaJual 7. Klik kanan pada Formula Fields, dan pilih New:, Pada FormulaName ketikan SaldoAkhir, dan buatlah formula {Barang.b0}+{Barang.b1}, dan klik pada Check untuk memeriksa kebenaran dari formula yang diketik, dan akhiri dengan klik pada Save and Close

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

8. Pada kolom @SaldoAkhir tambahkan Grand total. Mengatur Formula pada runtime Anda dapat menggunakan FormulaFields(n).Text, untuk memanipulasi Formula pada saat runtime. Contoh : xRpt.FormulaFields(1).Text = "{Barang.b0}+{Barang.b1}+{Barang.b2}+{Barang.b3}" untuk memperbaiki @SaldoAkhir menjadi bulan Maret. Dengan petunjuk instruktur anda, buatlah Faktur Pembelian, Laporan Pembelian Per Pemasok, Laporan Pembelian Per Barang. Project Buatlah program cetak Databarang dimana @SaldoAkhirnya disesuaikan dengan Bulan yang akan dicetak.

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Membuat report dengan Crystal Report 8.5


Crystal report 8.5 menawarkan pembuatan report yang dapat terpadu dengan project Visual Basic 6.0, dimana pembuatan report dapat langsung dilakukan pada IDE Visual Basic dengan menggunakan menu Project, Add Crystal Reports 8.5. Bekerja dengan Crystal Report Designer dan ADO 1. Dari Menu Project, pilih Add Crystal Report 8.5 2. Pada Crystal Report Gallery pilih As blank Report 3. Beri jawaban Yes pada Do you want the expert to add a form containing the Crystal Report Control Viewer ?, dan No pada Would you like the expert to modify the project properties to set this form as the startup object ? dan Klik Ok 4. Selanjutnya dihadapan anda akan ditampilkan Crystal Report Designer

5. Klik kanan pada Database Fields dan pilih Add Database to report. 6. Pada dialog Database Explorer, pilih More Data Source, klik pada Active Data, double klik pada Active Data (ADO), dan buatlah ConnectionString seperti biasanya, dengan menggunakan ADO 7. Buatlah datasource dengan SQL statement berikut : SELECT Beli.Nomor, Beli.Tanggal, Beli.KodePemasok, Beli.Total, Pemasok.Nama, Pemasok.Alamat1, Pemasok.Alamat2, BeliDetail.KodeBarang, BeliDetail.NamaBarang, BeliDetail.Qty, BeliDetail.UnitPrice, BeliDetail.Amount FROM Pemasok INNER JOIN (Beli INNER JOIN BeliDetail ON Beli.Nomor = BeliDetail.Nomor) ON Pemasok.KodePemasok = Beli.KodePemasok;

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

8. Klik kanan pada Group Name Fields, dan pilih Insert Group, dan buatlah group berdasarkan Nomor 9. Rancanglah report anda sebagai berikut :

10. Lakukan pengaturan format untuk Qty, UnitPrice, Amount, Total, PrintDate serta PrintTime. 11. Lakukan koding pada Report jika tidak ada data yang dicetak Private Sub Report_NoData(pCancel As Boolean) MsgBox "Tidak Ada yang dicetak !" End Sub 12. Modify Koding untuk Form Viewer sehingga lokasi database dapat disesuaikan kembali sebagai berikut : Dim Report As New CrystalReport1 Dim MyConn As New Connection Dim MyRs As New Recordset Private Sub Form_Load() MyConn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=C:\Pentacom.Mdb; Jet Oledb:Database Password=Pentacom;" MyConn.Open sSQL = "SELECT Beli.Nomor, Beli.Tanggal, Beli.KodePemasok," & _ "Beli.Total, Pemasok.Nama, Pemasok.Alamat1, Pemasok.Alamat2," & _ "BeliDetail.KodeBarang, BeliDetail.NamaBarang, BeliDetail.Qty," & _

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

"BeliDetail.UnitPrice, BeliDetail.Amount " & _ "FROM Pemasok INNER JOIN " & _ "(Beli INNER JOIN BeliDetail ON Beli.Nomor = BeliDetail.Nomor) " & _ "ON Pemasok.KodePemasok = Beli.KodePemasok;" MyRs.Open sSQL, MyConn Report.Database.SetDataSource MyRs, , 1 Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report CRViewer1.ViewReport Screen.MousePointer = vbDefault End Sub Private Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub 13. Lengkapi program diatas untuk kemampuan mencetak Faktur nomor tertentu saja. 14. Tambahkan nomor baris untuk masing-masing baris faktur 15. Tambahkan PPN dan Nett

Indoprog

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Membuat graphic dengan Crystal Report 8.5


Crystal report 8.5 menawarkan berbagai fasilitas kemudahan dalam pembuatan report, salah satunya adalah pembuatan grafik Bekerja dengan Crystal Report Designer dan ADO 16. Buatlah sebuah report dengan datasource dengan SQL statement berikut : SELECT Beli.KodePemasok, Pemasok.Nama, Pemasok.Attn, Beli.Nomor, Beli.Tanggal, Beli.Total FROM Pemasok INNER JOIN Beli ON Pemasok.KodePemasok = Beli.KodePemasok; 17. Buatlah Group berdasarkan KodePemasok dengan klik pada toolbar 18. Rancanglah Report sebagai berikut :

19. Tambahkan Graphic Bar ke Report, dengan melakukan klik pada toolbar dimana dengan pengaturan sebagai berikut : Place chart: Once per report : Header On change of : ado.KodePemasok Show : sum of ado.Total Title : Graphic Pembelian per customer Group Title : Nama Pemasok Data Title : Total

Indoprog

10

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

20. Lakukan pemrograman pada Visual Basic untuk membatasi pencetakan dari dan sampai tanggal tertentu saja. 21. Aktifkan fasilitas Drill down untuk bagian detail, petunjuk : klik kanan pada detail, dan pilih Format Section, beri tanda check pada Hide (Drill down ok)

Indoprog

11

Pemanfaatan Crystal Report pada VB6 Konektivitas Crystal Report dengan SQL Server Design report dengan sumber data

Oleh : Hendra, ST.

Klik pada More Data Sources, dan DblClik pada Microsoft SQL Server

Kemudian akan muncul dialog berikut, isikan nama server, user id, password, dan nama database sumber data.

Selanjutnya klik pada tombol Option untuk menampilakn sumber data report yang menggunakan Storeprocedure.

Indoprog

12

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Selanjutnya proses design report tidak jauh berbeda dengan sumber data yang berasal dari .Mdb.

Indoprog

13

Pemanfaatan Crystal Report pada VB6 Menampilkan Report pada Visual Basic (SQL Server) Sumber data Tabel atau View
Dim Dim Dim Dim xApp As New CRAXDRT.Application xRpt As New CRAXDRT.Report xServer As String xDatabase As String

Oleh : Hendra, ST.

Private Sub Form_Load() xServer = "cdnsql xDatabase = "cdnAHRDMS" Set xRpt = xApp.OpenReport("C:\fbindoprog.rpt") xRpt.DiscardSavedData xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).Location = xDatabase & ".dbo.LAPORAN_MUTASI_STOCK" CRViewer.ReportSource = xRpt CRViewer.ViewReport End Sub

Catatan : Kalau nama server/database berbeda pada saat implementasi dengan ketika design, maka akan muncul pesan berikut :

Solusinya adalah menanbah tiga baris berikut ini :


xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).Location = xDatabase &".dbo.Proc(LAPORAN_MUTASI_STOCK)"

Sumber data Storeprocedure


Dim Dim Dim Dim Dim Dim xApp As New CRAXDRT.Application xRpt As New CRAXDRT.Report crParamDefs As CRAXDRT.ParameterFieldDefinitions crParamDef As CRAXDRT.ParameterFieldDefinition xServer As String xDatabase As String

Private Sub Form_Load() xServer = "cdnsql xDatabase = "cdnAHRDMS" Set xRpt = xApp.OpenReport("C:\fbindoprog.rpt") xRpt.DiscardSavedData xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx" xRpt.Database.Tables(1).Location = xDatabase &".dbo.Proc(LAPORAN_MUTASI_STOCK)" xRpt.EnableParameterPrompting = False Set crParamDefs = xRpt.ParameterFields

Indoprog

14

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

For Each crParamDef In crParamDefs Select Case crParamDef.ParameterFieldName Case "@DARITANGGAL" crParamDef.SetCurrentValue DlgLMutasiStokL.txtDariTanggal.Value Case "@SAMPAITANGGAL" crParamDef.SetCurrentValue DlgLMutasiStokL.txtSampaiTanggal.Value Case "@KODELOKASI" crParamDef.SetCurrentValue DlgLMutasiStokL.cboKodeLokasi.Text End Select Next CRViewer.ReportSource = xRpt CRViewer.ViewReport End Sub

Indoprog

15

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Konektivitas Crystal Report dengan Firebird melalui ODBC

Pilih More Data Sources, dan DblKlik pada Make New Connection

Indoprog

16

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Pilih Microsoft OLE DB Provider for ODBC Drivers

Indoprog

17

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Klik pada Use connection string, dan ketikan pada Connection string :
DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=MASTERKEY;DBNAME=c:\firebirddb\fbindoprog.fdb

Indoprog

18

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Indoprog

19

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Menampilkan report dari Project Visual Basic (Firebird) Untuk menampilkan Crystal Report ke project anda dapat dilakukan dengan menggunakan komponen Crystal Report Viewer Control melalui menu Project, Components, dan Reference ke Crystal Report 8 Activex Designer runtime library
Dim xApp As New CRAXDRT.Application Dim xRpt As New CRAXDRT.Report Private Sub Form_Load() Set xRpt = xApp.OpenReport("C:\fbindoprog.rpt") xRpt.DiscardSavedData xRpt.Database.LogOnServerEx "pdsoledb.dll", "OLE DB", "", "", "", "", "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=MASTERKEY;DBNAME=c:\firebirddb\fbindoprog.fdb" xRpt.Database.Tables(1).SetLogOnInfo "OLE DB", "c:\firebirddb\fbindoprog.fdb", "SYSDBA", "MASTERKEY" CRViewer.ReportSource = xRpt CRViewer.ViewReport End Sub

Indoprog

20

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Package dan Deployment pada program VB6 yang menggunakan Crystal Report Salah satu permasalahan yang sering ditemukan bagi programmer pemula yang menggunakan Crystal Report pada proyek VB adalah setelah program berhasil diinstalasi pada komputer Client tetapi laporan yang dibuat dengan Crystal Report tidak berhasil berjalan dengan baik. (Kecuali kalau di komputer Client juga diinstalasi Crystal Report). Masalah tersebut terjadi karena, pada package installer kita tidak mengikutsertakan beberapa file .dll yang dibutuhkan oleh Crystal Report. Untuk mengetahui .dll apa saja yang perlu dimasukan kedalam package installer dapat dibaca pada file Runtime.hlp yang terdapat pada folder : c:\program files\seagate software\crystal reports\developer files\help Jenis file .dll yang dibutuhkan sangat tergantung bagaimana anda menggunakan Crystal Report dalam project anda, dan kadang-kadang .dll juga membutuhkan .dll lainnya.

Indoprog

21

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Kemudian file .dll berkaitan dengan jenis database driver yang digunakan :

Indoprog

22

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Dan jenis Exporting filter yang digunakan :

Indoprog

23

Pemanfaatan Crystal Report pada VB6

Oleh : Hendra, ST.

Indoprog

24

Anda mungkin juga menyukai