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
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.
Untuk menghubungkan ke tabel gunakan dialog database Expert
Setelah jadi simpan dengan file extensi *.rpt
Menampilkan ke form pada Visual Basic
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
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:\Kuliah\Modul Data Base Multi user\program\ReportPen.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
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
Tidak ada komentar:
Posting Komentar