Membuat Laporan Visual Basic Dengan Form Tambahan
Dulu saya sudah menjelaskan bagaimana cara membuat laporan dengan
CRYSTAL REPORT dan DATA REPORT. Sedangkan pada kesempatan kali ini saya
akan menerangkan cara membuat laporan dengan hanya menggunakan form
tambahan saja. Tapi memang kode kode nya terlihat susah padahal kalau
kita mengerti, inti dari kode kode tersebut hanya sedikit saja.
Seperti biasa saya mengajarkannya dengan metode langsung praktek dan
kemudian saya berikan penjelasan. Mulailah dengan membuka program visual
basic anda yang sudah jadi lalu buatlah sebuah form tambahan yang baru
yang tidak ada isinya. BERI NAMA FORM TERSEBUT MISALKAN DENGAN NAMA
LAYAR DAN SIMPAN DENGAN NAMA LAYAR.frm. Fungsi dari form kosong ini
hanyalah digunakan sebagai background atau layar laporan yang akan kita
buat.
Kemudian ketiklah kode kode dibawah ini sebagai contoh dan letakkan
pada tombol untuk mencetak laporan anda. (nama field disesuaikan dengan
program yang anda buat). KODE DIBAWAH INI ADALAH HANYA KODE UNTUK
MENAMPILKAN LAPORAN TERSEBUT (PREVIEW).
Private Sub CMDPRINT_Click() LAYAR.Show Dim grs As String grs = String$(107, “~”) LAYAR.Cls LAYAR.Print LAYAR.FontName = “Times New Roman” LAYAR.FontBold = True LAYAR.FontSize = 12 LAYAR.Print Tab(39); “PT XYZ” LAYAR.Print Tab(31); “(Distributor Penjualan buku)” LAYAR.Print Tab(28); “Jl. Condet Raya No.83 Cililitan Jakarta Timur” LAYAR.Print Tab(31); “Telp.8003149 – 8003524 Fax. 8002147″; LAYAR.Print LAYAR.FontBold = False LAYAR.FontSize = 10 LAYAR.Print Tab(2); grs LAYAR.FontItalic = True LAYAR.Print Tab(2); “Print date :”; Format(Date, “DD-MM-YY”) LAYAR.Print Tab(2); “Print time :”; Time LAYAR.FontItalic = False LAYAR.Print Tab(2); grs LAYAR.FontBold = True LAYAR.Print Tab(2); “KODE”; LAYAR.Print Tab(17); “JUDUL BUKU”; LAYAR.Print Tab(45); “JENIS”; LAYAR.Print Tab(60); “PENGARANG”; LAYAR.Print Tab(85); “PENERBIT”; LAYAR.Print Tab(105); “TAHUN”; LAYAR.Print Tab(115); “HARGA”; LAYAR.Print Tab(125); “STOK”; LAYAR.FontBold = False LAYAR.Print Tab(2); grs With Data1 .Refresh If Not .Recordset.EOF Then .Recordset.MoveFirst Do While Not .Recordset.EOF LAYAR.Print Tab(2); .Recordset!Kode_buku; LAYAR.Print Tab(17); .Recordset!Judul_buku; LAYAR.Print Tab(50); .Recordset!Jenis_buku; LAYAR.Print Tab(70); .Recordset!Karang_buku; LAYAR.Print Tab(100); .Recordset!Terbit_buku; LAYAR.Print Tab(130); .Recordset!Tahun_buku; LAYAR.Print Tab(140); .Recordset!Harga_buku; LAYAR.Print Tab(150); .Recordset!Stok_buku; .Recordset.MoveNext Loop End If LAYAR.Print Tab(2); grs LAYAR.Print Tab(2); “Jumlah buku : “; .Recordset.RecordCount End With Call cetak Printer.EndDoc Printer.KillDoc Exit Sub End Sub
Selanjutnya ketikan kode kode dibawah ini dengan membuat sebuah SUB baru yang sebagai contoh disini bernama SUB CETAK. (nama field disesuaikan dengan program yang anda buat). Isi dari kode dibawah ini dengan kode yang diatas hampir sama hanya berbeda sedikit saja. KODE DIBAWAH INI ADALAH KODE UNTUK MENCETAK LAPORAN TERSEBUT.
Sub cetak() LAYAR.Show Dim grs As String grs = String$(107, “~”) Printer.CurrentX = 0 Printer.CurrentY = 0 Printer.FontName = “Times New Roman” Printer.FontBold = True Printer.FontSize = 12 Printer.Print Tab(39); “PT XYZ” Printer.Print Tab(31); “(Distributor Penjualan buku)” Printer.Print Tab(28); “Jl. Condet Raya No.83 Cililitan Jakarta Timur” Printer.Print Tab(31); “Telp.8003149 – 8003524 Fax. 8002147″; Printer.Print Printer.FontBold = False Printer.FontSize = 10 Printer.Print Tab(2); grs Printer.FontItalic = True Printer.Print Tab(2); “Print date :”; Format(Date, “DD-MM-YY”) Printer.Print Tab(2); “Print time :”; Time Printer.FontItalic = False Printer.Print Tab(2); grs Printer.FontBold = True Printer.Print Tab(2); “KODE”; Printer.Print Tab(17); “JUDUL BUKU”; Printer.Print Tab(50); “JENIS”; Printer.Print Tab(70); “PENGARANG”; Printer.Print Tab(95); “PENERBIT”; Printer.Print Tab(110); “TAHUN”; Printer.Print Tab(120); “HARGA”; Printer.Print Tab(130); “STOK”; Printer.FontBold = False Printer.Print Tab(2); grs With Data1 .Refresh If Not .Recordset.EOF Then .Recordset.MoveFirst Do While Not .Recordset.EOF Printer.Print Tab(2); .Recordset!Kode_buku; Printer.Print Tab(17); .Recordset!Judul_buku; Printer.Print Tab(50); .Recordset!Jenis_buku; Printer.Print Tab(70); .Recordset!Karang_buku; Printer.Print Tab(100); .Recordset!Terbit_buku; Printer.Print Tab(120); .Recordset!Tahun_buku; Printer.Print Tab(130); .Recordset!Harga_buku; Printer.Print Tab(140); .Recordset!Stok_buku; .Recordset.MoveNext Loop End If Printer.Print Tab(2); grs Printer.Print Tab(2); “Jumlah buku : “; .Recordset.RecordCount End With End Sub
PENJELASAN DARI LISTING PROGRAM DIATAS:
- Perbedaan yang nyata dari 2 kode diatas adalah: kalau kode untuk menampilkan laporan kebanyakan dimulai dengan kata LAYAR sedangkan kode untuk mencetak laporan kebanyakan dimulai dengan kata PRINTER.
- Kata LAYAR digunakan hanya untuk menampilkan laporan saja sedangkan Kata PRINTER digunakan untuk mencetak laporan tersebut.
- Perintah .SHOW digunakan untuk menampilkan form kosong yang tadi dibuat. Sebagai contoh dalam tutorial ini untuk memanggil form yang bernama LAYAR tadi.
- GRS disini masksudnya digunakan untuk membuat Garis yang didefinisikan mempunyai tipe data String. Sedangkan angka disitu contohnya 107 maksudnya adalah panjang dari garis tersebut (Maaf kalau salah).
- CLS disini maksudnya adalah Clear Screen yang digunakan untuk mengosongkan data data yang ada didalam form laporan tersebut ketika form itu dipanggil (Maaf kalau salah).
- FONT NAME digunakan untuk menentukan jenis text atau tulisan yang ada pada laporan yang akan ditampilkan tersebut.
- FONT BOLD digunakan untuk mempertebal tulisan. Jika statusnya TRUE maka tulisan tersebut menjadi tebal, tapi jika statusnya FALSE maka tulisan tersebut tidak tebal.
-FONT ITALIC digunakan untuk memiringkan tulisan. Jika statusnya TRUE maka tulisan tersebut menjadi miring, tapi jika statusnya FALSE maka tulisan tersebut tidak miring.
- FONT SIZE digunakan untuk menentukan ukuran besar kecilnya tulisan.
- PRINT TAB (ANGKA) digunakan untuk mengatur posisi tulisan. Untuk posisi tulisan yang berupa angka tersebut anda bisa mengira ngiranya sendiri. Rubahlah angka tersebut menurut perkiraan anda lalu jalankan form tersebut untuk mengetahui hasilnya. Jika posisi tulisannya masih berantakan, rubahlah angka angka tersebut dengan mengira ngira posisi yang tepat dengan menambahkan angka itu atau menguranginya.
- PRINT DATE digunakan untuk menambahkan tanggal hari ini pada laporan yang dibuat.
- PRINT TIME digunakan untuk menambahkan waktu hari ini pada laporan yang dibuat.
- LAYAR.PRINT TAB (2); GRS maksudnya digunakan untuk membuat garis di layar laporan pada posisi yang telah ditentukan.
- LAYAR.Print Tab(2); Data1.recordset!kode_buku; maksudnya adalah isi dari field kode buku yang ada di database akan ditampilakan di layar laporan pada posisi yang telah ditentukan. Begitu juga dengan penjelasan dari field field yang lain yang ada dibawahnya.
- RECORD COUNT digunakan untuk menghitung jumlah data yang ada.
- CALL CETAK maksudnya adalah untuk memanggil SUB CETAK yang tadi kita buat diatas.
- END DOC sebagai akhir dari dokumen yang ditampilakan (Maaf kalau salah).
- KILL DOC digunakan untuk menghapus semua data laporan yang ditampilkan tadi dari form yang kosong itu sehingga form kosong tersebut akan kosong kembali dan tampilannya menghilang.
Selesai Juga Dech Tutorialnya....
Terimakasih Atas Kunjungannya....
Semoga Ilmu Yang Sedikit Ini Bermanfaat....
Jangan Lupa Like Post Ini Ya.... Terimakasih....
0 komentar:
Posting Komentar