VB.NET 2005 Source Code Crystal Report : Filter Crystal Report Dengan Bulan dan Tahun

Kamis, Oktober 09, 2008 | | Comments (11)

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:

CR_Filter_month

Source : rockwithryan.wordpress.com

Comments (11)

Loading... Logging you in...
  • Logged in as
salam persaudaraan dari beginner programmer....
mas tolong kasih caranya (semacam tahapan2) jgn codenya z..
wah boleh juga postingannya mengenai filter crystal report dengan bulan dan tahun,btw pas banget lagi membutuhkan juga nih tapi bukan dalam bahasa VB, pake bahasa C#, minta samplenya dunks mas untuk filter crystal report itu tapi dalam bahasa C#,penting euy,masih pemula banget jadinya belum tau...,terimakasih sebelumnya.
salam buat semua...., mo nanya nih mas kalo mau masukkin nilai berupa string ke dalam crytal reports itu gimana ya misalnya mau masukkin nama bulan dari dtpicker sehingga bulan tersebut muncul di dalam crystal report. terima kasih, mohon tanggapannya...
Crazy Seventh's avatar

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's avatar

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's avatar

kepompong · 831 weeks ago

thank brow, salam kenal Spirit Programming, in[utkan terus tutorialnya makasih udah membantu dalam proses pemrograman.......
salam persaudaraan dari beginner programmer. kk "tolong donk post program code buat Menyimpan & Membaca Gambar Dari Database sql server 2005 Menggunakan VB.NET.
1 reply · active 823 weeks ago
salam kenal bro...

saya minta informasi koding vb.net buat bikin game donk kalau ada kirim ke email saya ya billy_akew@yahoo.co.id
salam kenal..
salam kenal...
mau tanya ... maksud dari [Dim NW_Rpt As New NW_OrderReport ]
[NW_OrderReport] itu apa yah?
maap, masih anak ayam.

Post a new comment

Comments by