Pemanfaatan crystal report pada vb6

24
Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST. Indoprog 1 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 :

Transcript of Pemanfaatan crystal report pada vb6

Page 1: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 1

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 :

Page 2: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 2

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

Page 3: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 3

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"

Page 4: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 4

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'"

Page 5: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 5

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”

Page 6: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 6

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.

Page 7: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 7

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;

Page 8: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 8

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," & _

Page 9: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 9

"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

Page 10: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 10

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

Page 11: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 11

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)

Page 12: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 12

Konektivitas Crystal Report dengan SQL Server

Design report dengan sumber data

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.

Page 13: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 13

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

.Mdb.

Page 14: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 14

Menampilkan Report pada Visual Basic (SQL Server)

Sumber data Tabel atau View Dim xApp As New CRAXDRT.Application

Dim xRpt As New CRAXDRT.Report

Dim xServer As String

Dim 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.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 xApp As New CRAXDRT.Application

Dim xRpt As New CRAXDRT.Report

Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions

Dim crParamDef As CRAXDRT.ParameterFieldDefinition

Dim xServer As String

Dim 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

Page 15: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 15

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

Page 16: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 16

Konektivitas Crystal Report dengan Firebird melalui ODBC

Pilih More Data Sources, dan DblKlik pada Make New Connection

Page 17: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 17

Pilih Microsoft OLE DB Provider for ODBC Drivers

Page 18: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 18

Klik pada Use connection string, dan ketikan pada Connection string : DRIVER=Firebird/InterBase(r)

driver;UID=SYSDBA;PWD=MASTERKEY;DBNAME=c:\firebirddb\fbindoprog.fdb

Page 19: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 19

Page 20: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 20

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

Page 21: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 21

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.

Page 22: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 22

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

Page 23: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 23

Dan jenis Exporting filter yang digunakan :

Page 24: Pemanfaatan crystal report pada vb6

Pemanfaatan Crystal Report pada VB6 Oleh : Hendra, ST.

Indoprog 24