Mungkin ini masalah yang banyak di alami oleh beberapa programmer yaitu sulitnya membuat laporan atau report terhadap sebuah data. Pada kesempatan kali ini saya akan memberikan cara membuat laporan dengan
mudah dan
dengan interface yang menarik, selain itu, kita dapat memilih
orientation dari kertas yaitu bisa
Portrait dan
Landscape dengan beberapa coding pemanggil database untuk menampilkan datanya, mari kita mulai, tapi sebelum itu berikut tampilan hasil dari
Print Preview laporan dengan
Report Control Codejock :
Komponen Yang Dibutuhkan :
- Xtreme CommandBar ActiveX Control
- Xtreme Report ActiveX Control
Siapkan satu database dan tabel misalkan seperti berikut :
Selanjutnya buat form baru dan koneksikan dengan database anda misalkan menggunakan database access. koneksi tidak akan dibahas disini, untuk lebih jelasnya masalah koneksi database bisa searching di
google dan tambahkan komponen CommandBars dan Report Control pada Component Visual Basic :
sehingga meghasilkan component berikut di toolbox :
Selanjutnya masukkan satu
CommandBars, satu
Report Control, satu
PrintPreview, susun komponen berikut pada form seperti gambar dibawah ini :
Selanjutnya mari kita berkoding,
Pertama, memanggil datanya terlebih dahulu, disini saya menggunakan ADODB, scirpt SQL bebas diubah sesuai kebutuhan, kita pakai script berikut :
02 | Dim Rs As ADODB.Recordset |
04 | Private Sub TampilData() |
05 | Set Rs = New ADODB.Recordset |
06 | Rs.CursorType = adOpenStatic |
07 | Rs.CursorLocation = adUseClient |
08 | Rs.Open "SELECT kodeBuku, judul, ISBN, pengarang, penerbit, " _ |
09 | & "kategori, rak, jmlHalaman, tahun, tglMasuk, harga, qty " _ |
10 | & "FROM Buku ORDER BY kodeBuku", Conn, adOpenDynamic, adLockOptimistic |
11 | Set ReportControl.DataManager.DataSource = Rs |
13 | ReportControl.DataManager.DataBind |
14 | ReportControl.PaintManager.HeaderRowsDividerStyle = xtpReportFixedRowsDividerThin |
15 | ReportControl.HeaderRecords.DeleteAll |
16 | ReportControl.PopulateHeaderRows |
19 | .PaintManager.DrawGridForEmptySpace = True |
20 | .PaintManager.HorizontalGridStyle = xtpGridSolid |
21 | .PaintManager.VerticalGridStyle = xtpGridSolid |
Kedua, kita buat report control kita rapi dan memberi header laporan dengan nama instansi kita, berikut scriptnya :
01 | Private Sub FormatGrid() |
02 | ReportControl.Columns(0).Width = 150 |
03 | ReportControl.Columns(0).Caption = "Kode Buku" |
04 | ReportControl.Columns(1).Width = 400 |
05 | ReportControl.Columns(1).Caption = "Judul" |
06 | ReportControl.Columns(2).Width = 225 |
07 | ReportControl.Columns(2).Caption = "ISBN" |
08 | ReportControl.Columns(3).Width = 200 |
09 | ReportControl.Columns(3).Caption = "Pengarang" |
10 | ReportControl.Columns(4).Width = 150 |
11 | ReportControl.Columns(4).Caption = "Penerbit" |
12 | ReportControl.Columns(5).Width = 150 |
13 | ReportControl.Columns(5).Caption = "Kategori" |
14 | ReportControl.Columns(6).Width = 150 |
15 | ReportControl.Columns(6).Caption = "Rak" |
16 | ReportControl.Columns(7).Width = 200 |
17 | ReportControl.Columns(7).Caption = "Jumlah Halaman" |
18 | ReportControl.Columns(8).Width = 150 |
19 | ReportControl.Columns(8).Caption = "Tahun" |
20 | ReportControl.Columns(9).Width = 175 |
21 | ReportControl.Columns(9).Caption = "Tanggal Masuk" |
22 | ReportControl.Columns(10).Width = 100 |
23 | ReportControl.Columns(10).Caption = "Harga" |
24 | ReportControl.Columns(11).Width = 100 |
25 | ReportControl.Columns(11).Caption = "Banyak" |
27 | With Me.ReportControl.PrintOptions |
29 | .Header.FormatString = "Nama" & vbCr & "Alamat" & vbCr & "Telepon" |
30 | .Header.Font.Bold = True |
32 | .Footer.FormatString = "Tanggal Cetak : &D" & vbCr & "Halaman &p/&P" |
Ketiga, Pada
Form_Load Tambahkan Script berikut agar kita bisa menggunakan ShortCut Ctrl+P untuk preview laporannya, untuk sementara Print Preview di visible = False, berikut script di
Form_Load :
2 | Me.PrintPreview.Visible = False |
3 | Me.CommandBars.KeyBindings.Add 8, vbKeyP, 100 |
4 | Me.Caption = "Preview Data Buku (Press Ctrl+P for Print Preview)" |
Keempat, Tambahkan script berikut agar data di Report Control masuk ke Print Preview :
1 | Private Sub CommandBars_Execute(ByVal Control As XtremeCommandBars.ICommandBarControl) |
4 | Set Me.PrintPreview.PrintView = Me.ReportControl.CreatePrintView |
6 | Me.ReportControl.Visible = False |
7 | Me.PrintPreview.Visible = True |
Kelima, Agar besar ukuran laporan bisa berubah sesuai besar kecilnya form beri script berikut :
1 | Private Sub Form_Resize() |
3 | .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight |
7 | .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight |
Keenam, dan yang terakhir kita beri Action pada tombol Print dan tombol close yang berada pada Print Preview :
1 | Private Sub PrintPreview_CloseClick() |
2 | Me.ReportControl.Visible = True |
3 | Me.PrintPreview.Visible = False |
6 | Private Sub PrintPreview_PrintClick() |
7 | PrintPreview.ShowPrintDialog |
Mudah Bukan!....Selamat Mencoba!!!
Semoga cara ini memberi kemudahan bagi yang lagi pusing membuat laporan.
Yang membutuhkan file project
download-nya silahkan. saya belajar dari file ini.