Modul ini membahas cara membuat laporan menggunakan Crystal Report dan penguncian tabel untuk mencegah konflik data. Crystal Report digunakan untuk membuat laporan secara terpisah dari Visual Basic. Penguncian tabel dilakukan untuk mencegah pengubahan data pada waktu yang bersamaan agar hasil akhir transaksi tetap akurat.
1. MODUL VIII
MEMBUAT LAPORAN CRYSTAL REPORT
DAN PENGUNCIAN TABEL
I. MAKSUD DAN TUJUAN
A. MAKSUD
Pengenalan cara-cara penggunaan crystal report, menggunakan program
Visual Basic.
B. TUJUAN
Memberikan kemampuan mempraktekan, pembuatan laporan dengan
menggunakan Crystal Report.
II. TEORI
Crystal Report adalah program khusus untuk membuat laporan, yang
terpisah dengan Visual Basic. Pada modul ini menggunakan Crystal Report versi
10. Untuk bisa menjalankan Crystal Report, harus ditambahkan Service Pack 6
pada Visual Basic. Kemudian pada Project | Refrence, ditambahkan :
• Crystal Report ActiveX Designer Rutime Library 10.0
• Crystal Active Report viewer Library 10.0
III. PRAKTEK
Mennjalan Crystal Report, Start | Program klik ke Crystal Report 10. Lihat
gambar di bawah
Untuk membuat laporan baru pilih Blank Report, mebuka yang lama Existing
Report. Using Report Wizard mebuat laporan dengan cepat langsung dikaitakan
dengan database data tabel yang ada.
Pemrograman Multiuser dengan VB dan MySQL 38
2. Untuk menghubungkan ke tabel gunakan dialog database Expert
Setelah jadi simpan dengan file extensi *.rpt
Menampilkan ke form pada Visual Basic
Pemrograman Multiuser dengan VB dan MySQL 39
3. Komponen untuk menampilkan ataug menggabungkan ke Form Visual Basic
Manggunkan komponen CrystalActiveXReportViewer1
Deklarasi umum
Dim Appl As New CRAXDRT.Application
Dim Report As New CRAXDRT.Report
Program Cetak
Private Sub CommandCetak_Click()
Report.PrintOut (CheckCetak.Value = 1)
End Sub
Pemrograman Multiuser dengan VB dan MySQL 40
4. Private Sub CommandTutup_Click()
Unload FormPreview
End Sub
Private Sub Form_Activate()
CrystalActiveXReportViewer1.Refresh
End Sub
Private Sub Form_Resize()
CrystalActiveXReportViewer1.Width = Me.Width - 2 * _
CrystalActiveXReportViewer1.Left
CrystalActiveXReportViewer1.Height = Me.Height - _
2 * CrystalActiveXReportViewer1.Top
On Error Resume Next
If Err.Number <> 0 Then
On Error GoTo 0
MsgBox "Salah pada berkas laporan", vbOKOnly, "Perhatian"
CommandCetak.Enabled = False
Exit Sub
Else
Set Report = Appl.OpenReport(Trim(TextReport.Text))
CrystalActiveXReportViewer1.ReportSource = Report
CrystalActiveXReportViewer1.ViewReport
On Error GoTo 0
End If
End Sub
Program ini disimpan dengan nama FormPrevew.frm, dipanggil dari modul VII,
pada proses tombol Simpan, sambil mencetak strok penjualan.
FormPreview.TextReport.Text = _
"C:KuliahModul Data Base Multi userprogramReportPen.rpt"
FormPreview.Show 1
On Error Resume Next
Penguncian tabel
Penguncian tabel dilakukan jika, terjadi pengubahan pada rekaman dalam
waktu yang sama, sehingga dikawatirkan terjadi hasil akhir yang salah. Contoh kasus
dalam aplikasi ini jika ada kasir yang transaksi dalam waktu yang sama bisa nomor
nota sama, dan juga, motong dengan hasil yang salah.
Dalam program bisa ditambahkan seperti pada fungsi dibawah
Function LockTable(Conn As ADODB.Connection, _
TableName As String)
Conn.Execute "LOCK TABLE " & TableName & " WRITE"
If Err.Number <> 0 Then
LockTable = False
Pemrograman Multiuser dengan VB dan MySQL 41
5. Else
LockTable = True
End If
End Function
Function UnlockTables(Conn As ADODB.Connection)
Conn.Execute "UNLOCK TABLES;"
If Err.Number <> 0 Then
UnlockTables = False
Else
UnlockTables = True
End If
End Function
Cara penggunaan penguncian tabel
If LockTable(Conn, "barang") = False Then
Conn.RollbackTrans 'kunci edit nambah
MsgBox "Gagal mengunci tabel barang", vbOKOnly, "Perhatian"
Exit Sub
End If
Lakukan pengeditan barang
Buka kunci
UnlockTables Conn
Conn.CommitTrans ' simpan transaksi
IV. TUGAS
• Buatlah laporan perolehan penjuanlan tiap-tiap kasir.
• Buatlah laporan transaksi penjualan harian.
• Bualtah laporan stok barang.
Pemrograman Multiuser dengan VB dan MySQL 42