Senin, 10 Oktober 2011

MEMBUAT LAPORAN CRYSTAL REPORT DAN PENGUNCIAN TABEL











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