1. Buat
Project baru
2. Ubah
nama form menjadi ‘lp_parameter’
3. Tambahkan
object Crystal Report Viewer ke form lp_parameter
Pilih :
Lalu pilih :
Lalu OK
4. Beri
nama viewernya dengan ‘view_parameter’
Pilih Blank Report Saja
5. Buatlah
Dataset dengan cara :
Pilih :
Kemudian pilih :
Beri nama :
6. Lalu
Isilah dataset dengan Database ‘perdagangan’
Ketikan nama Server
Lalu OK
Drag semua tabel ke dalam field dataset
Hingga akhirnya dataset akan seperti ini
:
Jangan lupa simpan
7. Buatlah
modul koneksi
Lalu isi koding modul seperti ini :
Imports System.Data.SqlClient
Module koneksi
Dim con As SqlConnection
Public Function
konek() As SqlConnection
con = New SqlConnection("server = AMPHIBI\SQLEXPRESS;database
=perdagangan;integrated security = true")
con.Open()
Return con
End Function
End Module
8. Sekarang
desain tampilan file rpt yang dibuat kira-kira seperti ini :
9. Kemudian
masukan databasenya dengan cara :
Klik kanan Database Fields
Pilih source dari Project Data dan masukan semua tabel dengan klik >
10. Masukan
file rpt ke dalam crystal report viewer dengan cara :
Masuk form ‘lp_parameter’ lalu pilih
objek crystal report viewer dalam form tersebut ‘view_parameter’ dan klik
segitiga hitam kecil
11. Mulailah
pengkodingan di dalam form ‘lp_parameter’
Imports System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Public Class lp_parameter
Dim rpt As New report_parameter
'file rpt yang dibuat
Dim rd As SqlDataReader
Dim cmd As SqlCommand
Dim ds As DataSet
Dim adp As SqlDataAdapter
Dim tmp As String
Dim myConnection As SqlConnection
Dim connection, barang, h_transaksi, d_transaksi As String
Dim myDA As New SqlDataAdapter
Dim myDS As New ds_laporan 'Dataset yang dibuat
Sub tampil()
myDS.Reset()
connection
= "server = AMPHIBI\SQLEXPRESS;database =
perdagangan;integrated security = true"
d_transaksi
= " select* from d_transaksi where
no_transaksi = '" & no_trans.Text & "'"
h_transaksi
= "select * from h_transaksi where
no_transaksi = '" & no_trans.Text & "'"
barang = "select * from barang"
myConnection = New SqlConnection(connection)
Try
myConnection.Open()
cmd = New SqlCommand(d_transaksi,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "d_transaksi")
cmd = New SqlCommand(h_transaksi,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "h_transaksi")
cmd = New SqlCommand(barang,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "barang")
rpt.SetDataSource(myDS)
view_parameter.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
Sub filter()
myDS.Reset()
connection
= "server = AMPHIBI\SQLEXPRESS;database =
perdagangan;integrated security = true"
d_transaksi
= "select * from d_transaksi"
h_transaksi
= "select * from h_transaksi where
month(tanggal) = '" & Strings.Mid(pick.Text,
4, 2) & "' and day(tanggal) = '"
& Strings.Left(pick.Text, 2) & "' and year(tanggal) = '" & Strings.Right(pick.Text, 4) & "'"
barang = "select * from barang"
myConnection = New SqlConnection(connection)
Try
myConnection.Open()
cmd = New SqlCommand(d_transaksi,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "d_transaksi")
cmd = New SqlCommand(h_transaksi,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "h_transaksi")
cmd = New SqlCommand(barang,
myConnection)
myDA.SelectCommand = cmd
myDA.Fill(myDS, "barang")
rpt.SetDataSource(myDS)
view_parameter.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
Private Sub
lp_parameter_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
cmd = New SqlCommand("select no_transaksi from h_transaksi", koneksi.konek)
rd =
cmd.ExecuteReader
While rd.Read
With no_trans
.Items.Add(rd(0))
End With
End While
rd.Close()
End Sub
Private Sub
pick_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
pick.ValueChanged
filter()
End Sub
Private Sub
no_trans_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
no_trans.SelectedIndexChanged
tampil()
End Sub
End Class
12. Jika
terjadi eror seperti ini
maka editlah app.config, seperti berikut
:
Ganti bagian yang ditandai (dimulai dari
<startup>)
Dengan :
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Lampiran (Database):