Hal - 1 - BAB CRYSTAL REPORT Dalam modul ini Crystall Report yang digunakan adalah versi 8.5. sebagai langkah awal kita akan mencoba membuat laporan data barang. Ikutilah langkah-langkah berikut ini. 1. Aktifkan Crystal Report 2. Pilih Using the Report Expert 3. OK 4. Pilih Sandart 5. Klik OK 6. Klik Database
Hal - 2-7. Double Click database File 8. Klik Find Database File 9. Klik Add 10. Pilih file database 11. Open 12. Pilih tabel Barang 13. Add 14. Close 15. Klik Next
Hal - 3-16. Klik Add All (untuk memilih semua field 17. Klik Next 18. Klik Next 19. Klik Next 20. Klik Finish 21. Hasilnya terlihat sebagai berikut
Hal - 4-22. Tambahkan kotak (klik menu insert > Box) 23. Drag di posisi yang dibutuhkan 24. Tambahkan garis (klik menu insert > line) 25. Drag di posisi yang diperllukan 26. Ubah judul-judul kolom sesuai kebutuhan 27. Hilangkan garis bawah di judul 28. Sehingga hasilnya seperti gambar berikut 29. Klik kanan HargaBrg di area detail 30. Format field 31. Klik display currency 32. Pilih fixed
Hal - 5-33. Klik Customized 34. Klik tab Currency Symbol 35. Tulis Rp 36. OK 37. OK 38. Klik menu Insert 39. Pilih Text Object 40. Simpan kursor di area Report Header 41. Tulis judul laporan LAPORAN DATA BARANG 42. Ubah ukuran huruf, posisi dan sebagainya
Hal - 6-43. Jika diperlukan kolom Total sebagai perkalian antara harga dan jumlah buatlah sebuah formula sebagai berikut: 44. Klik menu Insert 45. Field Object 46. Klik kanan Formula Fields 47. Pilih New 48. Ketik Total 49. OK
Hal - 7-50. Di kotak formula editor anda dapat mengetik formula atau melakukan double click pada field yang akan dibuat rumusnya 51. Klik Save and Close 52. Drag field Total ke sebelah kanan JumlahBrg di area detail, lalu ubah formatnya
Hal - 8 - Simpanlah laporan ini dengan nama LAP BARANG LAPORAN PENJUALAN Laporan penjualan akan dibuat secara parsial, yaitu laporan harian, mingguan dan bulanan. Dengan tiga contoh tersebut diharapkan anda dapat membuat laoran sesuai kebutuhan. Ilustrasi laporan yang akan dibuat adalah sebagai berikut: 1. Harga barang dinaikkan 10% dari harga beli sebagai laba penjualan (formula) 2. Total dihasilkan dari perkalian antara harga jual dengan jumlah penjualan (formula) 3. Untuk mempermudah mencari data, nama barang diurutkan dari A Z 4. Dalam sehari kemungkinan besar satu jenis barang dijual beberapa kali, maka nama barang tersebut cukup ditampilkan satu kali saja tetapi data penjualannya diakumulasikan Cara pembuatan laporan di atas adalah sebagai berikut: 1. Aktifkan Crystal Report 2. Using the Report Expert 3. OK 4. Pilih Standart 5. Klik OK 6. Pilih Database 7. Double Click Database file 8. Find database file 9. Add 10. Pilih database di diretori tertentu 11. Open 12. Klik tabel barang > add 13. Klik tabel detailjual > add 14. Klik tabel kasir > add 15. Klik tabel penjualan > add 16. Close 17. Next 18. Sisipkan field-field berikut ini
Hal - 9-19. NamaBrg (tabel Barang) 20. Buatlah formula dengan nama Harga yaitu {barang.hargabrg}*1.1 Catatan : Hargajual dapat diambil langsung dari field hargajual 21. Sisipkan field jmljual (tabel detailjual) 22. Buatlah formula Total {Harga} * {detailjual.jmljual} 23. Sisipkan Tanggal (tabel penjualan) 24. Next 25. Kelompokkan data berdasarkan nama barang dan tanggal secara ascending 26. Next 27. Sisipkan summary untuk mencari total
Hal - 10-28. Next >Next > Next > Next 29. Finish 30. Sembunyikan group header #1 dan #2 caranya adalah : 31. Klik kanan group header #1 32. Pilih Hide (Drill-Down OK) 33. Lakukan hal yang sama pada group header #2 34. Pindahkan tanggal di area page header dan di area detail ke atas nama barang 35. Hapus tanggal di area group footer #2 36. Hapus nama barang di area detail
Hal - 11-37. Hapus group #1 name dan group #2 name di area group header 38. Sembunyikan group footer #2 39. Hapus sum of harga di group footer #1 40. Pindahkan harga di area detail ke group footer #1 41. Hapus jmljual di area detail 42. Hapus @total di area detail 43. Sembunyikan area detail 44. Hasil modifikasi terlihat sebagai berikut 45. Group #2 baik di header maupun footer sudah tidak diperlukan lagi, oleh karena itu dapa t dihapus, hasil modifikasi terlihat sebagai berikut
Hal - 12-46. Hasilnya adalah seperti gambar di bawah ini Simpanlah laporan ini dengan nama LAP JUAL HARIAN LAPORAN PENJUALAN MINGGUAN Rancanglah sebuah desain laporan dengan bentuk seperti gambar berikut dengan mengikuti cara-cara yang telah dijelaskan sebelumnya. Buatlah pengelompokkan data berdasarkan tanggal dan nama barang. Untuk mempercepat pembuatan laporan penjualan mingguan
Hal - 13 - sebaiknya diambil dari laporan penjualan harian kemudian simpan dengan nama yang berbeda (SAVE AS) Hasil dari desain tersebut adalah sebagai berikut:
Hal - 14 - Simpanlah laporan ini dengan nama LAP JUAL MINGGUAN LAPORAN PENJUALAN BULANAN Buatlah rancangan laporan seperti gambar di bawah ini (gunakan jalan pintas dengan save as)
Hal - 15 - Hasilnya adalah sebagai berikut: Simpanlah laporan ini dengan nama LAP JUAL BULANAN Cara menampilkan Crystal report dari VB adalah sebagai berikut: Buatlah form dengan bentuk sebagai berikut:
Hal - 16 - Tambahkan objek Crystal Report Kemudian ketiklah koding di bawah ini : (koneksi ke database dan mendefinisikan tabel barang harus dibuat lebih dulu)
Private Sub Form_Load() Dim TglKomputer As Date TglKomputer = Date www.konsultasivb.com, www.belajarvb.com, Hal - 17 - If Tanggal <> Format(Date, "DD/MM/YY") Then End If Tanggal = Format(Date, "DD/MM/YY") Call BukaDB RSJual.Open "Select Distinct Tanggal From Penjualan order By 1", Conn RSJual.Requery Do Until RSJual.EOF Loop Combo1.AddItem Format(RSJual!Tanggal, "DD-MMM-YYYY") Combo2.AddItem Format(RSJual!Tanggal, "YYYY,MM, DD") Combo3.AddItem Format(RSJual!Tanggal, "YYYY,MM, DD") RSJual.MoveNext Conn.Close Call BukaDB Dim RSTGL As New ADODB.Recordset RSTGL.Open "select distinct month(tanggal) as Bulan from Penjualan", Conn Do While Not RSTGL.EOF Combo4.AddItem RSTGL!Bulan & Space(5) & MonthName(RSTGL!Bulan) RSTGL.MoveNext Loop Conn.Close Call BukaDB Dim RSTHN As New ADODB.Recordset RSTHN.Open "select distinct year(tanggal) as Tahun from Penjualan", Conn Do While Not RSTHN.EOF Combo5.AddItem RSTHN!Tahun RSTHN.MoveNext Loop Conn.Close End Sub Private Sub Combo1_Click() CR.SelectionFormula = "Totext({Penjualan.Tanggal})='" & CDate(Combo1) & "'" CR.ReportFileName = App.Path & "\Lap Jual Harian.rpt" CR.WindowState = crptmaximized
End Sub www.konsultasivb.com, www.belajarvb.com, CR.RetrieveDataFiles CR.Action = 1 Private Sub Combo3_Click() If Combo2 = "" Then Else End If Hal - 18 - MsgBox "Tanggal awal kosong",, "Informasi" Combo2.SetFocus Exit Sub If Combo3 < Combo2 Or Combo2 > Combo3 Then MsgBox "Tanggal terbalik" Combo3.SetFocus Exit Sub ElseIf Combo3 = Combo2 Then End If MsgBox "pilih Tanggal yang berbeda" Combo3.SetFocus Exit Sub CR.SelectionFormula = "{Penjualan.Tanggal} in date (" & Combo2 & ") to date (" & Combo3 & ")" End Sub CR.ReportFileName = App.Path & "\Lap Jual Mingguan.rpt" CR.WindowState = crptmaximized CR.RetrieveDataFiles CR.Action = 1 Private Sub Combo5_Click() Call BukaDB RSJual.Open "select * from Penjualan where month(tanggal)='" & Val(Left(Combo4, 2)) & "' and year(tanggal)='" & (Combo5) & "'", Conn If RSJual.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({Penjualan.Tanggal})=" & Val(Left(Combo4, 2)) & " and Year({Penjualan.Tanggal})=" & Val(Combo5.Text) CR.ReportFileName = App.Path & "\Lap Jual Bulanan.rpt" CR.WindowState = crptmaximized CR.RetrieveDataFiles CR.Action = 1
Hal - 19 - End Sub