Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Tutorial Active Report Bagian 1

| Comments

Intro

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Detail_Format()
    With adoSiswa.Recordset
        If Not .EOF Then
            txtNo.Text = Val(txtNo.Text) + 1

            txtNIS.Text = .Fields("nomorinduk").Value
            txtNama.Text = .Fields("nama").Value
            txtTempatLahir.Text = "" & .Fields("tempat_lahir").Value ' untuk menghandle nilai null

            If IsDate(.Fields("tgl_lahir").Value) Then
                txtTglLahir.Text = Format(.Fields("tgl_lahir").Value, "dd/MM/yyyy")
            Else
                txtTglLahir.Text = ""
            End If

            txtAyah.Text = "" & .Fields("ayah").Value ' untuk menghandle nilai null
        End If
    End With
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 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub cmdPreview_Click()
    Dim strCon  As String
    Dim strSql  As String

    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sampleDb.mdb"
    strSql = "SELECT * FROM siswa"

    With arLapSiswa
        .adoSiswa.ConnectionString = strCon
        .adoSiswa.Source = strSql

        .lblHeader1.Caption = "SEKOLAH MENGENGAH ..."
        .lblHeader2.Caption = "Laporan Data Siswa"

        .Show
    End With
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
2
3
4
5
6
7
8
Private Sub Detail_BeforePrint()
    txtNo.Height = Detail.Height
    txtNIS.Height = Detail.Height
    txtNama.Height = Detail.Height
    txtTempatLahir.Height = Detail.Height
    txtTglLahir.Height = Detail.Height
    txtAyah.Height = Detail.Height
End Sub

Klo sudah jalankan lagi programnya dan kita lihat hasil reportnya

Case closed :D sampai ketemu lagi di seri tutorial active report berikutnya, insya Allah :smile:

Selamat MENCOBA :)

active report, visual basic

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database dan Continuous Integration & Deployment.
Saat ini bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Cara mudah mencetak kode barcode Coding4Ever Advanced TextBox »

Comments