Dalam tulisan kali ini, kita akan menampilkan data dari program aplikasi yang kita buat dengan VB6 ke laporan Crystal Report (TTX File). Di bagian sebelumnya, sudah disampaikan langkah-langkah pembuatan laporan Crystal Report dengan TTX File. Untuk menghubungkan laporan tersebut dari program aplikasi yang kita buat, dapat mengikuti langkah-langkah berikut :
1. Buka IDE Ms. VB 6, pilih New - Standard Exe, kemudian klik tombol Open
2. Pilih menu Project - Component (Ctrl+T), tab Controls akan menampilkan daftar komponen teregister yang dapat kita gunakan untuk program aplikasi kita, ceklis komponen Crystal Report Viewer Control, kemudian klik tombol OK
3. Pilih menu Project - References, ceklis Crystal Reports 8.5 ActiveX Designer Run Time Library dan Microsoft ActiveX Data Objects 2.x Library, kemudian klik tombol OK
4. Pada Toolbox akan menambah 1 komponen dengan nama CRViewer, drag komponen tersebut dan drop di form yang kita gunakan.
5. Atur tata letak komponen tersebut pada form, dalam kasus ini saya gunakan code berikut :
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Width = Me.Width - 250
CRViewer1.Height = Me.Height - 600
End Sub
5. Deklarasikan objek-objek berikut :
Private cryApp As CRAXDRT.Application
Private rptApp As CRAXDRT.Report
Private oCn As New ADODB.Connection
Private oRst As New ADODB.Recordset
6. Dalam contoh ini saya tambahkan prosedur koneksi ke database (tergantung jenis database yg digunakan, dalam kasus ini digunakan SQL Server), seperti berikut :
Private Sub ConnectDB()
With oCn
.Provider = "SQLOLEDB"
.Properties("Data Source") = "(LOCAL)"
.Properties("User ID") = "user" 'Username SQL
.Properties("Password") = "password" 'Password SQL
.Properties("Initial Catalog") = "Barang" 'Nama Database
.CursorLocation = adUseClient
.ConnectionTimeout = 0
If .State = adStateOpen Then .Close
.Open
End With
End Sub
7. Pada event form_load, ketik kode berikut ini :
Private Sub Form_Load()
'Setting form Maximized
Me.WindowState = vbMaximized
'Memanggil prosedur koneksi database
Call ConnectDB
'Membuka recordset dari tabel barang (tabel barang memiliki field Kode, NamaBarang dan Jumlah)
With oRst
If .State = adStateOpen Then .Close
.Open "Select Kode, NamaBarang, Jumlah From Barang", oCn
End With
'Dalam contoh ini, file report disimpan di C:\testing dengan nama file rptBarang.rpt
Set cryApp = New CRAXDRT.Application
Set rptApp = cryApp.OpenReport("C:\Testing\rptBarang.rpt")
'Setting data source report dari recordset
rptApp.Database.SetDataSource oRst
'Assign report ke komponen CRViewer untuk ditampilkan
CRViewer1.ReportSource = rptApp
CRViewer1.ViewReport
Do While CRViewer1.IsBusy
DoEvents
Loop
CRViewer1.Zoom 100
End Sub
8. Jika ingin menggunakan parameter pada laporan, maka tambahkan listing kode berikut di kode di atas
rptApp.ParameterFields.GetItemByName("paramTest").ClearCurrentValueAndRange
rptApp.ParameterFields.GetItemByName("paramTest").AddCurrentValue "Test"
9. Running program aplikasi, yang telah dibuat, jika terdapat error, lakukan debugging...
Selanjutnya, silahkan kembangkan sendiri report anda dengan mengeksplorasi fungsi-fungsi yang ada... :)
1. Buka IDE Ms. VB 6, pilih New - Standard Exe, kemudian klik tombol Open
2. Pilih menu Project - Component (Ctrl+T), tab Controls akan menampilkan daftar komponen teregister yang dapat kita gunakan untuk program aplikasi kita, ceklis komponen Crystal Report Viewer Control, kemudian klik tombol OK
3. Pilih menu Project - References, ceklis Crystal Reports 8.5 ActiveX Designer Run Time Library dan Microsoft ActiveX Data Objects 2.x Library, kemudian klik tombol OK
4. Pada Toolbox akan menambah 1 komponen dengan nama CRViewer, drag komponen tersebut dan drop di form yang kita gunakan.
5. Atur tata letak komponen tersebut pada form, dalam kasus ini saya gunakan code berikut :
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Width = Me.Width - 250
CRViewer1.Height = Me.Height - 600
End Sub
5. Deklarasikan objek-objek berikut :
Private cryApp As CRAXDRT.Application
Private rptApp As CRAXDRT.Report
Private oCn As New ADODB.Connection
Private oRst As New ADODB.Recordset
6. Dalam contoh ini saya tambahkan prosedur koneksi ke database (tergantung jenis database yg digunakan, dalam kasus ini digunakan SQL Server), seperti berikut :
Private Sub ConnectDB()
With oCn
.Provider = "SQLOLEDB"
.Properties("Data Source") = "(LOCAL)"
.Properties("User ID") = "user" 'Username SQL
.Properties("Password") = "password" 'Password SQL
.Properties("Initial Catalog") = "Barang" 'Nama Database
.CursorLocation = adUseClient
.ConnectionTimeout = 0
If .State = adStateOpen Then .Close
.Open
End With
End Sub
7. Pada event form_load, ketik kode berikut ini :
Private Sub Form_Load()
'Setting form Maximized
Me.WindowState = vbMaximized
'Memanggil prosedur koneksi database
Call ConnectDB
'Membuka recordset dari tabel barang (tabel barang memiliki field Kode, NamaBarang dan Jumlah)
With oRst
If .State = adStateOpen Then .Close
.Open "Select Kode, NamaBarang, Jumlah From Barang", oCn
End With
'Dalam contoh ini, file report disimpan di C:\testing dengan nama file rptBarang.rpt
Set cryApp = New CRAXDRT.Application
Set rptApp = cryApp.OpenReport("C:\Testing\rptBarang.rpt")
'Setting data source report dari recordset
rptApp.Database.SetDataSource oRst
'Assign report ke komponen CRViewer untuk ditampilkan
CRViewer1.ReportSource = rptApp
CRViewer1.ViewReport
Do While CRViewer1.IsBusy
DoEvents
Loop
CRViewer1.Zoom 100
End Sub
8. Jika ingin menggunakan parameter pada laporan, maka tambahkan listing kode berikut di kode di atas
rptApp.ParameterFields.GetItemByName("paramTest").ClearCurrentValueAndRange
rptApp.ParameterFields.GetItemByName("paramTest").AddCurrentValue "Test"
9. Running program aplikasi, yang telah dibuat, jika terdapat error, lakukan debugging...
Selanjutnya, silahkan kembangkan sendiri report anda dengan mengeksplorasi fungsi-fungsi yang ada... :)
Comments
Post a Comment