Halouw balik lagi nih gwe setelah lama libur ga posting hehehe… Sekarang kita agak sedikit belajar nih, gwe mau berbagi ama lo semua tentang coding VB.NET 2005. Kali ini coding yang mau gwe kasih tahu adalah coding aplikasi VB.NET menggunakan Crystal Report di mana Crystal Report tersebut difilter dengan bulan dan tahun.
Pertama gwe pengin minta maaf dulu soalnya gwe lupa bikin snapshot aplikasinya jadi maaf kalo agak bingung ngikutin penjelasannya. Pertama yang gwe lakukan adalah gwe bikin sebuah form yang berisikan dua buah comboBox. comboBox yang pertama gwe namain cmbMonth yang tentunya berisikan bulan dari Januari dst. Terus untuk comboBox yang kedua gwe namain cmbYear yang berisikan tahun. Untuk tahunnya gwe isi dari tahun 1996 sampe 2010 kenapa gwe mulai dari 1996 ? soalnya gwe ngambil database Northwind tablenya Orders dimana tahun yang ada disitu dari 1996 sampe 1997, soal sampe 2010 itu sih terserah yang bikin dunks hehehehe . Dan gwe tambahin juga sebuah button untuk mengeksekusi perintah setelah user memberikan pilihan bulan dan tahun, button tersebut gwe namain btnSubmit. Moving on, sesudah itu gwe bikin Crystal Report dengan menggunkan database Northwind dengan table Orders, untuk ini gwe pengin minta maaf lagi soalnya column yang gwe masukin ke CR lupa apa aja, tapi tenang aja koq soalnya file aplikasinya dah gwe upload jadi you-you semua tinggal unduh aja (download maksudnya). Oya satu lagi, gwe bikin CR-nya pake wizard bukan pake blank report tapi untuk yang ini terserah aja tergantung kebutuhan dan selera mau pake yang wizard atau Blank Report. terus gwe masukin semua column yang pengin gwe tampilkan. Setelah itu gwe save CR-nya, dan berlanjut ke codingan untuk Form aplikasi Programnya, berikut ini adalah codingnya:
Public Class Form1
Dim NW_Rpt As New NW_OrderReport
Dim int_bulan As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.CrystalReportViewer1.ReportSource = NW_Rpt
End Sub
‘Private Sub cmbMonth_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbMonth.SelectedIndexChanged
‘End Sub
‘Private Sub cmbYear_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbYear.SelectedIndexChanged
‘End Sub
Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Try
Select Case cmbMonth.Text
Case “Januari”
int_bulan = 1
Case “Februari”
int_bulan = 2
Case “Maret”
int_bulan = 3
Case “April”
int_bulan = 4
Case “Mei”
int_bulan = 5
Case “Juni”
int_bulan = 6
Case “Juli”
int_bulan = 7
Case “Agustus”
int_bulan = 8
Case “September”
int_bulan = 9
Case “Oktober”
int_bulan = 10
Case “November”
int_bulan = 11
Case “Desember”
int_bulan = 12
End Select
CrystalReportViewer1.SelectionFormula = “{Orders.OrderDate} in datetime(” & cmbYear.Text & “,” & int_bulan.ToString() & “,1) to datetime(” & cmbYear.Text & “,” & int_bulan.ToString() & “,” & Now.Day.ToString() & “)”
CrystalReportViewer1.RefreshReport()
Catch ex As Exception
MessageBox.Show(”Report Error”, “Form Filter Report”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Jadi untuk penjelasan teknisnya gimana ntu CR bisa difilter begini ceritanya. Pertama gwe bikin Selection Formula dimana SelectionFormula ini berguna untuk melakukan macam-macam rumus untuk kegunaan di CR dan salah satunya untuk filter CR itu sendiri. Untuk yang masih bingung yang mana sih SelectionFormulanya ? yang ini lho “{Orders.OrderDate} in datetime(1996,8,1) to datetime(1997,1,1)”, tapi untuk keperluan coding diatas 1996 atau tahunnya gwe ganti dengan pilihan tahun yang ada di cmbYear dan bulannya gwe ganti dengan pilihan yang yang ada di cmbMonth.
Mungkin ada yang bertanya-tanya gimana kan di cmbMonth pilhannya adanya Januari, Februari,dst sementara format yang ada di SelectionFormula berupa (YYYY,mm,dd) dan itu semua berupa angka bukan huruf. Untuk itulah gwe menggunakan coding Conditional Sytax yang dimana coding tersebut adalah Select…Case seperti diatas, Jadi dengan menggunakan coding tersebut apabila user memilih Januari, maka input yang masuk adalah bukan huruf Januari melainkan angka 1, itu berlaku juga untuk Februari adalah angka 2 begitu seterusnya untuk bulan-bulan berikutnya.
Begitulah untuk pembelajaran ini, sori kalo masih banyak salahnya, gwe hanya ingin mencoba berbagi ilmu dengan siapa saja, mudah-mudahan bermanfaat hehehe, lain kali gwe kasih lagi coding-coding atau source code lain yang mudah-mudahan berguna untuk keperluan apapun.
Aplikasi tersebut dibuat dengan Visual Studio 2005. Bahasa pemrograman VB.NET, dan menggunakan SQL Server 2005 database Northwind table Orders, dan Crystal Report bawaan Visual Studio 2005
Oya untuk yang pengin download aplikasi program diatas silahkan klik link berikut:
Source : rockwithryan.wordpress.com
Rifky · 852 weeks ago
mas tolong kasih caranya (semacam tahapan2) jgn codenya z..
Erian · 839 weeks ago
rio · 839 weeks ago
Crazy Seventh · 835 weeks ago
jadi gini critanya, dari yg gw baca di atas :
1. bikin / buka form baru
defaultnya kan biasanya dg name : form1
dari
Public Class Form1
.... hingga
End Class
adalah isi dari coding untuk form1
2. nah kmudian deklarasi in kyk gini :
Dim NW_Rpt As New NW_OrderReport
Dim int_bulan As Integer
3. kasih event jika form1 dibuka (load)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.CrystalReportViewer1.ReportSource = NW_Rpt
End Sub
4. Coding ini ga dpake :
‘Private Sub cmbMonth_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cmbMonth.SelectedIndexChanged
‘End Sub
‘Private Sub cmbYear_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cmbYear.SelectedIndexChanged
‘End Sub
tanda ( ' ) untuk membatalkan / tidak dieksekusi
5. Pasang 1 buah button di forum 1, kmudian ini event ketika di click :
Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSubmit.Click
Try
5.1 ini hanya logika untuk mendapatkan data bulan yang akan dicetak :
Select Case cmbMonth.Text
Case “Januari”
int_bulan = 1
Case “Februari”
int_bulan = 2
Case “Maret”
int_bulan = 3
Case “April”
int_bulan = 4
Case “Mei”
int_bulan = 5
Case “Juni”
int_bulan = 6
Case “Juli”
int_bulan = 7
Case “Agustus”
int_bulan = 8
Case “September”
int_bulan = 9
Case “Oktober”
int_bulan = 10
Case “November”
int_bulan = 11
Case “Desember”
int_bulan = 12
End Select
5.2 Lalu dilanjut coding untuk men-select, memberikan batasan pada crystal report
yang akan ditampilkan :
CrystalReportViewer1.SelectionFormula =
“{Orders.OrderDate} in datetime(” & cmbYear.Text & “,” & int_bulan.ToString()
& “,1) to datetime(” & cmbYear.Text & “,” & int_bulan.ToString() & “,”
& Now.Day.ToString() & “)”
//artinya kurang lebih : tampilkan data pemesanan barang berdasarkan tanggal
pemesanan dimana tanggal tersebut dimulai dari tanggal xxx hingga xxx
* tp yg gw bingung lum djelasin ni tahun ma tgl dpt ny dari mana??? tapi
kayaknya cie dari textbox ato combo box dgn name cmb_year utk tahun
6. coding ke bawah selanjutnya adalah coding utk eksekusi dan perintah apabila
terjadi kesalahan...
eksekusi dg refresh jg : CrystalReportViewer1.RefreshReport()
*gtau juga nie...
klo salah :
MessageBox.Show(”Report Error”, “Form Filter Report”,
MessageBoxButtons.OK, MessageBoxIcon.Error)
7. jgn lupa tutup dg End
End Sub -----> menutup sub command clik
End Class ------> class form1
--------------------------------------------------------------------------------------------------------------------
Crazy Seventh · 835 weeks ago
nah sgtu mnurut gw coding di atas,....
nah bener ato ga, sebenernya garis besar pnggunaan CR kyk gini :
----> versi gw
--------------------------------------------------------------------------------------------------------------------
Dim Variable_Form As New Form_Name_Report
'menginisialisasi variabel form sebagai form (baru) pada form report
Dim Variable_Report As New CrystalDecisions.CrystalReports.Engine.ReportDocument
'inisialisasi pembuatan report
Variable_Report.Load(lokasi report yang akan dibaca)
'contoh : C:Projectcrazy.rpt
Variable_Report.SetDatabaseLogon(FileUser, FilePass, FileName, FileName)
'jika menginginkan ada autentifikasi siapa yang akan melakukan proses ini terlebih dahulu
Variable_Form.CrystalReportViewer1.ReportSource = Variable_Report
'menentukan source untuk report yang akan ditampilkan
Variable_Form.CrystalReportViewer1.SelectionFormula = ... tuliskan batasan nya disini
'contoh : " {Crazy_Tabel.kode} = '" & ComboBox1.Text & "' " &
' "and {Crazy_Tabel.waktu} > #" & TglMulai & "# " &
' "and {Crazy_Tabel.waktu} < #" & tglakhir & "#"
' month({table.date}) ----> untuk mengambil bulan dari tanggal yang ada
' monthname(month({table.date})) ----> untuk mengambil nama bulan dari tanggal yang ada
' year({table.date}) ----> untuk mengambil tahun dari tanggal yang ada
Variable_Form.WindowState = FormWindowState.Maximized
'agar form pada saat running dalam keadaan maximize
Variable_Form.ShowDialog()
'tampilkan form
--------------------------------------------------------------------------------------------------------------------
crazy_boyz_7@yahoo.com
kepompong · 831 weeks ago
arif · 823 weeks ago
bonitoo 42p · 823 weeks ago
billy · 823 weeks ago
saya minta informasi koding vb.net buat bikin game donk kalau ada kirim ke email saya ya billy_akew@yahoo.co.id
abbe · 742 weeks ago
raker · 720 weeks ago
mau tanya ... maksud dari [Dim NW_Rpt As New NW_OrderReport ]
[NW_OrderReport] itu apa yah?
maap, masih anak ayam.