Laporan Per Periode Crystal Report MySQL Server
https://carakuvb6.blogspot.com/2017/11/laporan-per-periode-crystal-report.html
Laporan Per Periode dalam sebuah aplikasi sering kita jumpai baik yang berhubungan dengan stok barang, angsuran , transaksi pembelian, transaksi pengeluaran gaji dan lain-lain, kerap kali kita temui dan sepertinya merupakan syarat utama dalam pelaporan suatu aplikasi. Kali admin akan menguraikan contoh source code Laporan Per Periode Crystal Report MySQL Server. Syarat pertama PC harus sudah terinstal Crystal Report dan MySQL Server karena database yang digunakan dalam pembahasan menggunakan MySQL Server. Buat terlebih dahulu databasenya dengan menggunakan MySQL Command Line Client atau bisa juga menggunakan aplikasi tambahan EMS (EMS SQL Manager 2005 for MySQL) untuk MySQL Connector menggunakan Driver MySQL ODBC 5.3 ANSI Driver
Disini admin menggunakan tools EMS SQL Manager 2005 for MySQL hanya untuk mempermudah dalam pembuatan database dan field pada MySQL Server. Buat terlebih dahulu database dan tabelnya dengan menggunakan script dibawah ini :
CREATE DATABASE `dbPenjualan`
CHARACTER SET 'latin1'
COLLATE 'latin1_swedish_ci';
Buka Ms. Visual basic 6.0 (VB6) - StandartEXE dan buat sebuah form dan 2 buah module copykan syntak dibawah ini ke module yang baru dibuatCREATE TABLE `penjualan` (
`FAKTUR` varchar(50) DEFAULT NULL,
`TANGGAL` date DEFAULT NULL,
`IDBARANG` varchar(50) DEFAULT NULL,
`NMBARANG` varchar(50) DEFAULT NULL,
`SATUAN` varchar(10) DEFAULT NULL,
`HRGJUAL` int(20) DEFAULT NULL,
`JUMBRG` int(20) DEFAULT NULL,
`SUBTOTAL` int(20) DEFAULT NULL,
`ID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=2073 DEFAULT CHARSET=latin1;
MODULE 1
Public CN As New ADODB.Connection
Sub Koneksi()
Dim NServer, NUser, NPass, NDatabase As String
NServer = "localhost"
NUser = "root"
NPass = ""
NDatabase = "dbpenjualan"
On Error GoTo ErrKoneksi
CN.CommandTimeout = 0
If CN.State Then
CN.Close
CN.CursorLocation = adUseClient
CN.ConnectionString = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=" & NServer & " ;Port=3306;DATABASE=" & NDatabase & ";" & _
"UID=" & NUser & " ;PWD=" & NPass & ";OPTION=3"
CN.Open
Else
CN.CursorLocation = adUseClient
CN.ConnectionString = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=" & NServer & " ;Port=3306;DATABASE=" & NDatabase & ";" & _
"UID=" & NUser & " ;PWD=" & NPass & ";OPTION=3"
CN.Open
End If
Exit Sub
ErrKoneksi:
MsgBox "Koneksi database Error.. " & vbCr & vbCr & _
Err.Description & Err.Number, vbCritical, "Error Koneksi Database"
End
End Sub
MODULE 2
Declare Function CreateFieldDefFile Lib "p2smon.dll" (lpUnk As Object, _
ByVal filename As String, ByVal bOverWriteExistingFile As Long) _
As Long
Untuk komponen yang digunakan didalam Form yaitu Crystal Report Control dan DTPicker, untuk tekan Key pada keyboard CTRL + T ceklis komponen Crystal Report Control dan Microsoft Windows Common Controls-2 6.0 (SP4)
Masukan komponen tersebut ke dalam form seperti gambar dibawah ini
Designlah untuk reportnya sebagus mungkins sesuai dengan kreasi agan, untuk koneksi MySQL dan Crystal Report admin menggunakan koneksi files TTX dan untuk jenis koneksi ini sudah pernah admin bahas pada artikel Cara Koneksi Crystal Report ke TTX Files
Simpanlah report tersebut usahakan satu folder pada Project Ms. Visual Basic 6.0 (VB6) yang telah kita buat diawal tadi ini bertujuan memudahkan pemanggilan path crystal report. Panggil sub koneksi database MySQL Server pada form_load
Call Koneksi
Kemudian double klik pada CommanButton diatas dan copykan syntak dibawah ini
Dim xRsPenjualan As New ADODB.Recordset
Set xRsPenjualan = New ADODB.Recordset
xRsPenjualan.Open "select * from penjualan WHERE DATE_FORMAT(TANGGAL,'%Y-%m-%d')>='" & Format(DTPicker1, "yyyy-MM-dd") & "'AND DATE_FORMAT(TANGGAL,'%Y-%m-%d')<='" & Format(DTPicker2, "yyyy-MM-dd") & "'", CN, 1, 3
CreateFieldDefFile xRsPenjualan, App.Path & "\ttxPenjualan.ttx", 1
With CrystalReport1
.DiscardSavedData = True
.ReportFileName = App.Path & "\Report1.rpt"
.SelectionFormula = ""
.Connect = App.Path & "\ttxPenjualan.ttx"
.SetTablePrivateData 0, 3, xRsPenjualan
.RetrieveDataFiles
.WindowMinButton = True
.WindowShowCloseBtn = True
.WindowShowExportBtn = True
.WindowShowPrintSetupBtn = True
.WindowShowSearchBtn = True
.WindowBorderStyle = crptSizable
.WindowState = crptMaximized
.Action = True
End With
Kemudian simpan RUN/F5 coba agan pilih periode dari tanggal mulai sampai dengan, jika dari bentangan tanggal mulai sampai dengan tanggal akhir ada, secara otomatis data yang akan tampil sesuai dengan bentangan tanggal mulai sampai dengan tanggal yang telah ditentukan dan untuk source cdenya bisa didownload di LINK INI dan semoga Source Code ini bermanfaat
Perhatian !!
- Berkomentarlah dengan menggunakan bahasa yang baik dan sopan dan sesuai topik pembahasan
- Dilarang menjadikan referensi artikel web ini tanpa menyertakan sumbernya