Report 3. Visual Basic Dengan Form Tambahan

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