Tutorial Active Report bagian 1 Active Report adalah salah satu tool yang digunakan untuk pembuatan report di visual basic, mulai dari report yang sederhana sampai yang komplek, berikut contoh beberapa report yang bisa dibuat menggunakan active report. Selain itu active report juga sudah terintegrasi dengan IDE visual basic sehingga pembuatan report pun menjadi lebih menyenangkan, lalu bagaimana cara meload datanya ? Caranya gampang cukup menggunakan query biasa seperti query-query yang digunakan dalam pembuatan aplikasi. Untuk contoh pada tutorial pertama ini kita akan menampilkan data siswa dengan struktur tabel seperti berikut : 1. Mendesain report Mendesain report di Active Report sama mudahnya seperti mendesain tampilan di form, tinggal drag komponennya kemudian ganti nilai properties masing-masing komponennya sesuai kebutuhan. Oke langsung saja aktifkan project vb Anda kemudian klik kanan di nama project -> Add -> Data Dynamics ActiveReport 2.0 jika berhasil pada panel project explorer akan ketambahan node baru dengan nama Designers kita akan mengganti nilai dari properties Name dan Caption seseusai setting berikut : Nama = arLapSiswa Caption = Laporan Data Siswa untuk properties yang lain bisa Anda ganti nilainya sesuai kebutuhan. Berikutnya kita akan menambahkan judul report, objek yang akan digunakan adalah objek label nilai caption dari labelnya kita abaikan saja, karena akan kita ganti pada saat runtime (program dijalankan). Setelah selesai menambahkan judul reportnya, kita akan menambahkan judul kolom, objek yang digunakan masih sama yaitu label selanjutnya kita akan menambahkan border untuk judul kolom nya, caranya adalah dengan menyeleksi label “No.” sampai “Tanggal Lahir”, kemudian klik kanan pada salah satu label yang diseleksi pilih Format Border pilih jenis border pada pilihan Line Styles, kemudian pada bagian Preview border yang diaktifkan hanya bagian “Atas”, “Kiri” dan “Bawah” selanjutkan kita akan menambahkan border untuk label ayah Gimana? jadi terlihatkan perbedaannya kenapa dipisah pembuatan border label “Ayah” dengan label lainnya. Hasil akhir penambahan border judul kolom Berikutnya kita akan menambahkan objek TextBox yang akan digunakan untuk menampilkan data Khusus untuk textbox “No.” (tag merah) properties Textnya diset = 0, untuk textBox lainnya diabaikan saja dan kemudian untuk menambahkan border langkah-langkahnya sama seperti sebelumnya, hanya saja border bagian “Atas” tidak aktifkan kemudian untuk setting border textbox ayah ada satu komponen lagi yang akan kita tambahkan yaitu komponen ADO Data Control dan saya rasa tidak perlu lagi dijelaskan apa kegunaan komponen ini. Berikut adalah hasil akhir desain report siswanya. 2. Kode untuk report Active Report sama seperti form dan komponen lainnya mempunyai event-event yang bisa kita isikan kode program sesuai kebutuhan, biasanya nama event tersebut diawali oleh nama sectionya, contoh : pada contoh diatas section “Detail” mempunyai beberapa event yaitu AfterPrint, BeforePrint, Format. Disini saya hanya akan mencontohkan penggunaan event Format dan BeforePrint. 01 Private Sub Detail_Format() 02 With adoSiswa.Recordset 03 If Not .EOF Then 04 txtNo.Text = Val(txtNo.Text) + 1 05 06 txtNIS.Text = .Fields(“nomorinduk”).Value 07 txtNama.Text = .Fields(“nama”).Value 08 txtTempatLahir.Text = “” & .Fields(“tempat_lahir”).Value ‘ untuk menghandle nilai null 09 10 If IsDate(.Fields(“tgl_lahir”).Value) Then 11 txtTglLahir.Text = Format(.Fields(“tgl_lahir”).Value, “dd/MM/yyyy”) 12 Else 13 txtTglLahir.Text = “” 14 End If 15 16 txtAyah.Text = “” & .Fields(“ayah”).Value ‘ untuk menghandle nilai null 17 End If 18 End With 19 End Sub Sampai disini report sudah siap digunakan/dipanggil via aplikasi 3. Memanggil report dari aplikasi Balik ke form visual basic kemudian buat desain form seperti gambar berikut : kemudian untuk menampilkan reportnya ketik kode berikut : 01 Private Sub cmdPreview_Click() 02 Dim strCon As String 03 Dim strSql As String 04 05 strCon = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “\sampleDb.mdb” 06 strSql = “SELECT * FROM siswa” 07 08 With arLapSiswa 09 .adoSiswa.ConnectionString = strCon 10 .adoSiswa.Source = strSql 11 12 .lblHeader1.Caption = “SEKOLAH MENGENGAH …” 13 .lblHeader2.Caption = “Laporan Data Siswa” 14 15 .Show 16 End With 17 End Sub Gimana ? Simple kan jalankan program kemudian klik tombol “Tampilkan Report”, akan ditampilkan hasil preview data siswanya. waduhh, ternyata setelah pindah ke halaman 2 ada data siswa yang nampil tidak sesuai harapan, lihat gambar berikut : Setelah diusut ternyata penyebabnya adalah nilai dari tempat lahirnya terlalu panjang sehingga tampilan report jadi berantakan, nah bagaimana cara menyelesaikan masalah ini ? Disinilah peran penting dari event Detail_BeforePrint. Oke kita kembali lagi ke desain report siswanya kemudian tambahkan kode berikut pada event Detail_BeforePrint : 1 Private Sub Detail_BeforePrint() 2 txtNo.Height = Detail.Height 3 txtNIS.Height = Detail.Height 4 txtNama.Height = Detail.Height 5 txtTempatLahir.Height = Detail.Height 6 txtTglLahir.Height = Detail.Height 7 txtAyah.Height = Detail.Height 8 End Sub Klo sudah jalankan lagi programnya dan kita lihat hasil reportnya Case closed sampai ketemu lagi

MEMBUAT LAPORAN (REPORT) DENGAN VISUAL BASIC

A. Membuat Laporan (Report)

Laporan digunakan sebagai sarana untuk menampilkan hasil pengolahan data, baik tampilan di layar maupun di kertas melalui printer. Pada pemrograman visual basic, laporan dapat dibuat dengan fasilitas Cristal Report (diinstal tersendiri) maupun dengan Data Report (bawaan standard). Pada bahasan di bawah ini laporan dibuat engan menggunakan Data Report.

a)      Persiapan

Untuk membuat laporan dengan Data Report, dapat dilakukan dengan cara menambahkan objek Data Report pada project, yaitu :

–          Tampilkan menu Project

–          Klik pilihan Add Data Report, sehingga akan ditampilkan desain laporan.

Sebelum melanjutkan untuk merancang laporan yang diinginkan, ada beberapa tahapan yang perlu dilakukan yaitu :

1)      Menetapkan Data Enviroment (Lingkungan Data)

Untuk membuat Data Environment lakukan langkah-langkah sbb :

–          Klik kanan pada jendela Project

–          Pilih Add

–          Pilih Data Environment, sehingga akan ditampilkan layar seperti gambar di bawah ini :

Gambar 47 : Kotak Dialog Data Environment

Untuk masing-masing nama (DataEnvironment1 dan Connection1) dapat dirubah namanya melalui properties.

–          Buat koneksi data agar bisa dihubungkan dengan Database yang akan digunakan untuk pembuatan laporan. Caranya adalah dengan klik kanan pada Connection1, lalu pilih Properties, sehingga akan ditampilkan jendela seperti gambar di bawah ini.

Gambar 48 : Kotak Dialog Link Database

–          Klik pilihan Microsoft Jet 4.0 OLE DB Provider, lalu klik tombol Next, sehingga akan ditampilkan jendela di bawah ini

 
   

Gambar 49 : Kotak Dialog Koneksi Database

–          Ketikkan nama database yang digunakan (pada posisi kursor saat ini) atau klik tombol titik tiga sehingga memudahkan dalam menentukan database yang dimaksudkan. Setelah database selesai ditetapkan, maka untuk mencoba koneksi bisa diklik tombol Test Conection. Jika dinyatakan sukses, maka langkah selanjutnya dapat dilakukan dengan mengklik tombol OK.

2)      Membuat Sumber Data (Tabel/SQL yang akan digunakan)

Untuk mempersipkan sumber data yang akan digunakan, maka lakukan langkah-langkah di bawah ini.

–          Klik kanan pada bagian Connection1

–          Pilih Add Command, sehingga akan ditambahkan satu nama untuk sumber data yaitu Command1. Nama ini dapat dirubah pada properties. (setiap kali ingin menambah sumber data lakukan hal yang sama seperi di atas)

–          Tentukan sumber data dengan klik kanan pada Command1, lalu pilih Properties sehingga akan ditampilkan kotak dialog seperti gambar di bawah ini.

 
   

Gambar 50 : Kotak Dialog Properties Pembuatan Sumber Data

Sumber data dapat berupa tabel atau sql. Jika sumber data adalah tabel, maka klik Database Object lalu pilih Table. Setelah itu pada bagian bawahnya pilih nama tabel yang akan digunakan. Jika sumber data adalah query maka klik SQL Statement, lalu tulis SQL yang dibutuhkan. Untuk memperjelas keadaan dari dua alternatif di atas dapat dilihat gambar di bawah ini.

 
   

Gambar 51 : Sumber Data Berupa Tabel

Gambar 52 : Sumber Data Berupa SQL

–          Setelah selesai menentap Tabel atau SQL, klik tombol Apply.

–          Apabila laporan yang dibuat adalah mengambil seluruh data pada tabel seperti contoh di atas, maka proses sudah selesi dengan mengklik tombol OK. Tapi jika laporan yang dibuat agak bervariasi, misalnya menampikan data tertentu atau menampilkan data dengan kelompok tertentu, maka dapat ditindak lanjuti dengan menetapkan beberapa hal pada kotak dialog di atas.

b)      Proses Pembuatan

Setelah persiapan-persiapan atau kelengkapan dari pembuatan laporan sudah dilakukan, maka proses pembuatan dapat dilakukan. Ada dua tahapan yang perlu dilakukan supaya laporan bisa terwujud yaitu mengatur properties dan membuat rancangan (desain) laporan. Untuk keperluan tersebut kembali dulu ke tampilan rancangan report. Jika masih dalam tampilan Environmet, maka tutup dulu tampilan tersebut.

1)      Mengatur properties laporan

 
   

Gambar 53 : Layar Desain Laporan

Pada saat tampilan desain report seperti di atas, maka atur propertiesnya yaitu DataSource dan DataMember.

–          Mengatur DataSource

Klik properti DataSource, lalu pilih sesuai dengan nama Environment (pada contoh di atas namanya adalah Environment1)

–          Mengatur DataMember

Klik properties DataMember, lalu pilih nama sumber data ysng digunakan (pada contoh di atas menggunakan Command1).

Properties yang lain dapat diatur, misalnya batas kiri laporan (Left Margin), batas kanan laporan (Right Margin), batas atas laporan (Top Margin), dan batas bawah laporan (Bottom Margin).

2)      Membuat desain laporan

Untuk membuat rancangan laporan dapat digunakan kontrol-kontrol yang sudah disediakan. Untuk penerapannya sama seperti dalam perancangan form. Langkah-langkahnya sebagai berikut :

  1. Gunakan kontrol Label (RptLabel) untuk membuat tampilan berupa keterangan seperti judul dan sebagainya. Atur propertiesnya terutama Caption.
  1. Gunakan kontrol text (RptTextbox)  untuk menampilkan data berupa field dan letakkan pada bagian Detail. Properties yang diatur adalah DataMember (sesuai nama sumber datanya) data DataField (sesuai dengan field-field yang akan ditampilkan)
  1. Gunakan kontrol fungsi (RptFunction) untuk menampilkan perhitungan seperti penjumlahan dan letakkan pada bagian Report Footer. Properties yang diatur adalah DataMember (sesuai nama sumber datanya) data DataField (sesuai dengan field-field yang akan ditampilkan)
  1. Gunakan kontrol Shape (RptShape) untuk membuat kotak atau kolom-kolom pada laporan.

 

  1. Gunakan kontrol Line (RptLine) untuk membentuk garis pada laporan.
  2. Gunakan kontrol Image (RptImage) untuk menampilkan gambar pada laporan. Properties yang diatur adalah properties Picture.

c)      Menjalankan/Memanggil Report

Untuk memanggil/menjalankan report dapat dilakukan dengan dua bentuk, yaitu laporan yang akan ditampilkan di layar dan laporan yang akan dicetak.

1)      Memanggil/Menjalankan laporan untuk layar

DataReport1.Show

2)      Memanggil/Menjalankan laporan yang akan dicetak

DataReport1.PrintReport

Catatan :

DataReport1 adalah nama laporan.

Perintah tersebut dituliskan pada tombol peritah yang sesuai.

d)     Contoh Penerapan

Di bawah ini adalah database sederhana dari administrasi perhotelan. Beri saja nama database ini dengan DATAHOTEL.MDB. Diminta untuk membuat laporan tentang daftar tamu yang menginap dengan pilihan (semua, tanggal tertentu, bulan tertentu, tahun tertentu.

 
   

Gambar 54 : Relasi Antar Tabel Database Sederhana

Penyelesaian :

1)      Rancang terlebih dahulu database dengan menggunakan Microsoft Access

2)      Buat seluruh tabel dan tentukan jenis field dan kunci jika ada.

3)      Buatlah Query agar memudahkan dalam menghasilkan informasi yang lengkap, khusus untuk penginapan yang menggabungkan tabel Inap, tabel Tamu, tabel Petugas, tabel Kamar dan tabel Jeniskm. Simpanlah Query tersebut dengan nama Qinap. Setelah database selesai, jangan lupa untuk melakukan proses Convert Database.

4)      Buatlah project untuk menghasilkan aplikasi yang diinginkan.

5)      Buatlah laporan dengan menambahkan Objek Data Report ke dalam project.

6)      Lakukan persiapan laporan dengan membuat Data Environment

7)      Tetapkanlah koneksi data untuk membuat sumberdata

8)      Ciptakanlah 4 buah sumber data (klik kanan pada Connection lalu klik Add Command) karena laporan yang akan dihasilkan sebanyak 4 buah laporan. Nama masing-masingnya biarlah seperti aslinya (Command, Command2, Command3, dan Command4). Untuk masing-masing sumber data dibuat dengan SQL saja.

–          SQL pada Command1 (semua data)

Klik kanan pada Command1, lalu pilih Properties dan tulis SQL sbb :

Select * from QINAP

Klik Apply

–          SQL pada Command2 (data tanggal tertentu)

Klik kanan pada Command2, lalu pilih Properties dan tulis SQL sbb :

Select * from QINAP Where (tglmasuk = ?)

Klik Apply

Klik tab Parameters, klik tanda tanya yang muncul, lalu tulis nama parameter pada bagian Name dengan nama VTGL, klik Apply

Klik tab Group, tandai check box Group Command Object, klik field tglmasuk, pindahkan ke sebelah kanan dengan tombol arah kanan

Klik tombol OK

–          SQL pada Command3 (data bulan tertentu)

Klik kanan pada Command3, lalu pilih Properties dan tulis SQL sbb :

Select *, month(tglmasuk) as BULAN, year(tglmasuk) as TAHUN from QINAP Where (month(tglmasuk) = ? and year(tglmasuk) = ?)

Klik Apply

Klik tab Parameters, klik tanda tanya yang muncul. Tanda tanya pertama beri nama pada Name dengan VBULAN, tanda tanya kedua beri nama pada Name dengan VTAHUN, lalu klik Apply

Klik tab Group, tandai check box Group Command Object, klik field BULAN pindahkan ke sebelah kanan dengan tombol arah kanan, field TAHUN pindahkan kesebelah kanan dengan tombol arah kanan.

Klik tombol OK

–          SQL pada Command4 (data tahun tertentu)

Klik kanan pada Command3, lalu pilih Properties dan tulis SQL sbb :

Select *, year(tglmasuk) as TAHUN from QINAP Where (year(tglmasuk) = ?)

Klik Apply

Klik tab Parameters, klik tanda tanya yang muncul dan nama pada Name dengan VTAHUN, lalu klik Apply

Klik tab Group, tandai check box Group Command Object, field TAHUN pindahkan kesebelah kanan dengan tombol arah kanan.

Klik tombol OK

Catatan :

Penggunaan tanya (?) dalam SQL menunjukkan pada bagian itu akan diisi oleh parameter (nilainya tidak pasti) yang akan dikirim dari form pemanggilnya

Setelah selesai membuat SQL masing-masing sumber data, akan terlihat pada jendela Environment seperti terlihat pada gambar di bawah ini.

 
   

Gambar 55 : Jendela Environment

Tutup jendela di atas supaya kembali ke desain report.

9)      Rancanglah 4 buah laporan untuk masing-masing sumber data yang telah dibuat. Hubungkan dengan sumber data yang sesuai.

10)  Rancanglah form untuk menjalankan report yang telah dibuat dengan rancangan seperti gambar di bawah ini.

Gambar 56 : Rancangan Form Laporan

11)  Tulislah kode program pada form sebagai berikut :

Dim bl As Single

Private Sub Form_Load()

Option1.Value = True

thn.Text = Year(Date)

End Sub

Private Sub cmdlayar_Click()

Call cekbulan

If Option1.Value = True Then

If DataEnvironment1.rsCommand1.State = adStateOpen Then

DataEnvironment1.rsCommand1.Close

DataEnvironment1.rsCommand1.Open

If DataEnvironment1.rsCommand1.RecordCount = 0 Then

MsgBox “Data belum ada atau tabel masih kosong!”

Else

DataReport1.Show

End If

ElseIf Option2.Value = True Then

If DataEnvironment1.rsCommand2_Grouping.State = adStateOpen Then

DataEnvironment1.rsCommand2_Grouping.Close

DataEnvironment1.command2_Grouping tgl.Value

If DataEnvironment1.rsCommand2_Grouping.RecordCount = 0 Then

MsgBox “Data belum ada atau tabel masih kosong!”

Else

DataReport2.Show

End If

ElseIf Option3.Value = True Then

If DataEnvironment1.rsCommand3_Grouping.State = adStateOpen Then

DataEnvironment1.rsCommand3_Grouping.Close

DataEnvironment1.command3_Grouping bl, Val(thn.Text)

If DataEnvironment1.rsCommand3_Grouping.RecordCount = 0 Then

MsgBox “Data belum ada atau tabel masih kosong!”

Else

DataReport3.Show

End If

ElseIf Option4.Value = True Then

If DataEnvironment1.rsCommand4_Grouping.State = adStateOpen Then

DataEnvironment1.rsCommand4_Grouping.Close

DataEnvironment1.command4_Grouping Val(thn.Text)

If DataEnvironment1.rsCommand4_Grouping.RecordCount = 0 Then

MsgBox “Data belum ada atau tabel masih kosong!”

Else

DataReport4.Show

End If

End If

End Sub

Private Sub cmdselesai_Click()

Unload Me

End Sub

Public Sub cekbulan()

If bln.Text = “Januari” Then

bl = 1

ElseIf bln.Text = “Februari” Then

bl = 2

ElseIf bln.Text = “Maret” Then

bl = 3

ElseIf bln.Text = “April” Then

bl = 4

ElseIf bln.Text = “Mei” Then

bl = 5

ElseIf bln.Text = “Juni” Then

bl = 6

ElseIf bln.Text = “Juli” Then

bl = 7

ElseIf bln.Text = “Agustus” Then

bl = 8

ElseIf bln.Text = “September” Then

bl = 9

ElseIf bln.Text = “Oktober” Then

bl = 10

ElseIf bln.Text = “Nopember” Then

bl = 11

ElseIf bln.Text = “Desember” Then

bl = 12

End If

End Sub

Private Sub Option1_Click()

Label2.Visible = False

tgl.Visible = False

Label3.Visible = False

bln.Visible = False

Label4.Visible = False

thn.Visible = False

End Sub

Private Sub Option2_Click()

Label2.Visible = True

tgl.Visible = True

Label3.Visible = False

bln.Visible = False

Label4.Visible = False

thn.Visible = False

tgl.SetFocus

End Sub

Private Sub Option3_Click()

Label2.Visible = False

tgl.Visible = False

Label3.Visible = True

bln.Visible = True

Label4.Visible = True

thn.Visible = True

bln.SetFocus

End Sub

Private Sub Option4_Click()

Label2.Visible = False

tgl.Visible = False

Label3.Visible = False

bln.Visible = False

Label4.Visible = True

thn.Visible = True

thn.SetFocus

End Sub

Keterangan :

Kode untuk tombol Cetak tidak disertakan pada listing di atas. Anda dapat membuat kodenya dengan meng-copy kode pada tombol Layar, lalu DataReport1.Show diganti dengan DataReport1.PrintReport. Sesuaikan juga untuk perintah yang lain.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s