Membuat Laporan Bulanan Dengan Crystal Report
Buatlah laporan dengan bentuk seperti gambar di bawah ini dan simpan dengan Lap Jual Bulanan
Buatlah form seperti gambar di bawah ini (jangan lupa menambahkan objek Crystal Report dan ganti nama objeknya dengan CR)
Coding:
Dim Conn As New ADODB.Connection
Dim RSPenjualan As New ADODB.Recordset
Sub Koneksi()
Set Conn = New ADODB.Connection
Set RSPenjualan = New ADODB.Recordset
Conn.Open "provider=microsoft.jet.oledb.4.0;data source = " & App.Path
& "\dbjual.mdb"
End Sub
www.konsultasivb.com
Oleh : Uus Rusmawan Hal - 2 –
Private Sub Form_Load()
Call Koneksi
RSPenjualan.Open "select distinct tanggal from penjualan order by 1",
Conn
Combo1.Clear
Combo2.Clear
Call Koneksi
RSPenjualan.Open "SELECT DISTINCT MONTH(TANGGAL) AS BULAN FROM
PENJUALAN", Conn
Combo1.Clear
Do While Not RSPenjualan.EOF
Combo1.AddItem RSPenjualan!BULAN
RSPenjualan.MoveNext
Loop
Conn.Close
Call Koneksi
RSPenjualan.Open "SELECT DISTINCT YEAR(TANGGAL) AS TAHUN FROM
PENJUALAN", Conn
Combo2.Clear
Do While Not RSPenjualan.EOF
Combo2.AddItem RSPenjualan!TAHUN
RSPenjualan.MoveNext
Loop
End Sub
Private Sub Combo2_Click()
CR.SelectionFormula = "Month({PENJUALAN.TANGGAL})=" & Val(Combo1) & "
and Year({PENJUALAN.TANGGAL})=" & Val(Combo2)
CR.ReportFileName = App.Path & "\lap jual bulanan.rpt"
CR.RetrieveDataFiles
CR.WindowState = crptMaximized
CR.Action = 1
End SubHasil Laporan :
Catatan :
Cara mengambil data bulan dan tahun… silakan lihat pada pembahasan tentang Pembuatan Laporan Dengan Crystal Report Sebaiknya ketiga laporan ini disatukan saja dalam sebuah form agar kodingnya tidak terpisah-pisah
Contoh form :
Coding :
Private Sub Form_Load()
Call BukaDB
RSPenjualan.Open "Select Distinct Tanggal From Penjualan order By 1",
Conn
RSPenjualan.Requery
Do Until RSPenjualan.EOF
Combo1.AddItem Format(RSPenjualan!Tanggal, "DD-MMM-YYYY")
Combo2.AddItem Format(RSPenjualan!Tanggal, "YYYY ,MM, DD")
Combo3.AddItem Format(RSPenjualan!Tanggal, "YYYY ,MM, DD")
RSPenjualan.MoveNext
Loop
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
'Lap Harian
Private Sub combo1_click()
CR.SelectionFormula = "Totext({Penjualan.Tanggal})='" &
CDate(Combo1) & "'"
CR.ReportFileName = App.Path & "\Lap Jual Harian.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
'Lap Mingguan (Tgl Antara)
Private Sub Combo3_Click()
If Combo2 = "" Then
MsgBox "Tanggal awal kosong", , "Informasi"
Combo2.SetFocus
Exit Sub
Else
If Combo3 < Combo2 Or Combo2 > Combo3 Then
MsgBox "Tanggal terbalik"
Combo3.SetFocus
Exit Sub
ElseIf Combo3 = Combo2 Then
MsgBox "pilih tanggal yang berbeda"
Combo3.SetFocus
Exit Sub
End If
End If
CR.SelectionFormula = "{Penjualan.Tanggal} in date (" & Combo2 & ")
to date (" & Combo3 & ")"
CR.ReportFileName = App.Path & "\Lap Jual Mingguan.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
'Lap Bulanan
Private Sub Combo5_Click()
Call BukaDB
RSPenjualan.Open "select * from Penjualan where month(tanggal)='" &
Val(Left(Combo4, 2)) & "' and year(tanggal)='" & (Combo5) & "'", Conn
If RSPenjualan.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
End Sub
Sumber :www.konsultasivb.com. Semoga bermanfaat.