Membuat Crystal Report visual basic.Net 2010
Dalam sebuah aplikasi khususnya pemograman yang menggunakan database
sebagai media penyimpan data, biasanya dibutuhkan sebuah laporan atau reporting
dari aplikasi yang kita buat. dalam postingan kali ini, akan saya paparkan
bagaimana untuk membuat sebuah Crystal Report pada bahasa pemograman visual basic.Net 2010 dengan Ms. Access sebagai
databasenya.
>> Untuk memulai membuat sebuah reporting dari sebuah aplikasi
database, cara pertama buka project aplikasi visual basic yang telah kita buat
sebelumnya, Hingga jendela project aplikasi telah tampil seperti contoh
aplikasi dibawah ini,

>> Nah, setelah aplikasi yang akan kita buatkan crystal reportnya
tampil,,langkah selanjutnya buat sebuah folder report untuk menyimpan file
project Crystal Report yang akan kita buat, caranya klik kanan pada aplikasi
anda pada jendela Solution Explorer, klik Kanan project>>Add>>New
Folder, Namai foleder baru tersebut dengan nama Laporan
>> Selanjutnya klik kanan pada folder Laporan>>Add>New
Item
>> Kemudian setelah masuk jendela New Add Item, Pilih
Reporting pada Installed Tempalates >> Crystal Reports >> Kemudian
buat nama file project crystal reports anda >> , mislnya dalam aplikasi
ini rptDataSiswaX
>>Selanjutnya akan tampil Crystal Report Gallery ,>>
Pilih As Blank Report>>OK.
>>Sehingga tampil project Crystal Report seperti berikut
>> Setelah itu langkah selanjutnya pada bar Field Explorer klik
kanan Database Fields >> Database Expert>>Create New
Connection>>OLE DB>>pilih Microsoft Office 12.0 Access Database
Engine>>Next.
>>Selanjutnya pada Data Source , browse databse yang akan
dijadikan crystal report pada aplikasi yang kita buat, kemudian pada Office
Database Type pilih Access.
>>Kemudian setelah kita selesai mengkoneksikan accsess database
dengan Crystal Report, pilih database yang akan ditampilkan pada crystal
report, misalkan pada contoh dibawah, klik tblDataSiswaX kemudian pilih “>”
untuk input database data siswa kedalam cyrstal report.
>>Jika koneksi berhasil, berikut adalah tampilan project dari
Cystal Report, Pada Database Expert drag n drop item dari database yang akan
ditampilkan pada crystal report. Dari Fields Explorer > Database Fields >
rptDataSiswa > Drag dan Drop Fields Number, NamaLengkap, Nis, Kelas, Agama,
Alamat dan Telepon dari Database Fields ke Section 3 (Details). Klik
Special Fields, Drag dan Drop “Record Number” ke depan Fields Number yang tadi
kita tambahkan, Drag dan Drop juga “Page N of M” ke Section 5 (Page Footer).
Pada ToolBox pilih “Text Object” dan tambahkan ke Section 1 (Report Header) dan
ubah tulisan/ isinya dengan “Data Siswa Kelas X SMA Negeri 5
Bandung”. Pada Section 2 (Page Header) terdapat beberapa “Text
Object” yang secara otomatis ditambahkan ketika kita tambahkan Fields ke
Section 3 tadi. Pilih semua yang ada di Section 2 dan hilangkan garis bawahnya
dengan cara klik lambang U pada ToolBar. Kemudian double klik Text Object
“Record Number” yang ada di Section 2 dan ganti dengan “NO”. Pada
ToolBox pilih “Box Object” dan tambahkan 1 buah ke Section 2 (Page Header) dan
1 buah ke Section 3 (Details). Sehingga hasilnya akan tampak seperti gambar di
bawah ini :
>>Untuk dapat menampilkan Laporan tersebut maka diperlukan sebuah
object/ kontrol yang bernama CrystalReportViewer. Untuk keperluan tersebut buat
sebuah Form baru dan beri nama “LaporanDataSiswa.vb”. Dan tambahkan sebuah CrystalReportViewer ke Form tersebut.
CrystalReportViewer terdapat di ToolBox>CrystalReport>CrystalReportViewer.Pada Toolbar Reporting drag and drop
CrystalReportView pada form yang baru dibuat tersebut. beri nama CRDataSiswaX
pada tool CrystalReportView, kemudian pada Form LaporanDataSiswaX ubah
WindowsState menjadi Maximum pada bagian properties.
>>Aktifkan kembali From aplikasi yang digunakan untuk menampilkan
report dan double klik Button yang digunakan untuk menampilkan reporting.
Kemudian ketikkan kode program berikut ini :
Dim a As New rptDataSiswaX
Dim b As New LaporanDataSiswaX
b.CRDataSiswaX.ReportSource = a
b.ShowDialog()
Dim b As New LaporanDataSiswaX
b.CRDataSiswaX.ReportSource = a
b.ShowDialog()
Baris pertama mendeklarasikan a sebagai object dari Class rptDataSiswaX.
Baris selanjutnya mendeklarasikan b sebagai object dari Class/ Form Laporan.
Baris ketiga mengatur nilai Sumber Data dari CRDataSiswaX (CrystalReportViewer)
yang ada di b (dalam hal ini adalah Form Laporan) bersumber dari a (yang
berarti adalah Crystal Report yang tadi telah kita buat yaitu rptDataSiswaX).
Dan baris terakhir untuk menampilkan Form Laporan. Sehingga pada saat running
ketika diklik Button maka akan tampak seperti pada gambar di bawah ini :
Imports
MySql.Data.MySqlClient
Module
modConnection
Public Conn
As MySqlConnection
Public RD As MySqlDataReader
Public DA As MySqlDataAdapter
Public CMD As MySqlCommand
Public DS As DataSet
Public
simpan, edit, hapus As String
Public Sub bukaDB()
Dim
SQLConn As String
SQLConn = "server=localhost;Uid=root;Pwd=;Database=db_inventori"
Conn = New
MySqlConnection(SQLConn)
If
Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
End Sub
End Module
Imports
MySql.Data.MySqlClient
Public Class frmDataBarang
Private Sub frmDataBarang_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
TextBox1.Focus()
Call
bukaDB()
Call
isiGrid() 'Menjalankan perintah
dari Sub isiGrid()
Call
isiCombo()
End Sub
Sub
isiGrid()
Call
bukaDB() 'Panggil koneksi
kedatabase melalui modul
DA = New
MySqlDataAdapter("SELECT *
from tb_barang",
Conn)
DS = New
DataSet
DA.Fill(DS, "tb_barang")
DataGridView1.DataSource = DS.Tables("tb_barang") 'Setting Datasource
dari DGV
DataGridView1.ReadOnly = True
‘Jadikan DGV hanya
ReadOnly
End Sub
Sub
Bersih()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox1.Focus()
Button1.Text = "Tambah"
End Sub
Sub
isiCombo()
Call
bukaDB()
CMD = New
MySqlCommand("SELECT kodebarang
From tb_barang",
Conn)
RD = CMD.ExecuteReader
Combobox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop
CMD.Dispose()
RD.Close()
Conn.Close()
End Sub
Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If
Button1.Text = "Tambah" Then
Button1.Text = "Simpan"
TextBox1.Focus()
Else
Try
Call
bukaDB()
CMD = New
MySqlCommand("SELECT kodebarang
from tb_barang WHERE
kodebarang = '" &
TextBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If
RD.HasRows Then
MsgBox("Maaf,
Data dengan kode
tersebut telah ada", MsgBoxStyle.Exclamation, "Peringatan")
Else
Call
bukaDB()
simpan = "INSERT
INTO tb_barang (kodebarang,namabarang,harga,stok)
VALUES (?,?,?,?)"
CMD = Conn.CreateCommand
With
CMD
.CommandText = simpan
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 4).Value =
TextBox1.Text
.Parameters.Add("p2", MySqlDbType.String, 30).Value =
TextBox2.Text
.Parameters.Add("p3", MySqlDbType.Int32, 8).Value =
TextBox3.Text
.Parameters.Add("p4", MySqlDbType.Int32, 4).Value =
TextBox4.Text
.ExecuteNonQuery()
End
With
Call
isiGrid()
Call
Bersih()
Call
isiCombo()
End
If
Catch
ex As Exception
MsgBox(ex.ToString,
MsgBoxStyle.Critical, "Terjadi Kesalahan")
End
Try
End If
End Sub
Private Sub Button2_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Call
Bersih() 'Mengembalikan keadaan Form Seperti Semula
TextBox1.Enabled = True
ComboBox1.Text = ""
End Sub
















No comments:
Post a Comment