Rasanya sudah hampir 1 minggu lebih
saya tidak posting, karena kesibukan saya di kantor. ok, kali ini saya coba share bagaimana cara membuat coding dalam menampilkan report secara singkat dan simple. coba anda lihat form berikut ini :
Gimana banyak sekali kan kriteria nya ? biasanya para programmer paling "
MALAS" untuk membuat form ini, karen pastinya akan banyak sekali "
IF THEN ELSE". Nah jangan khawatir saya akan coba berbagi bagaimana membuat sintak yang simple/sederhana untuk membangun form Report seperti diatas.
OK, cara simple nya seperti ini (di tombol Preview_Click() ) :
1.Jika anda butuh query untuk Dataset, temporary dan sebagainya
Dim sql As String = ""
sql = "SELECT * FROM BARANG WHERE kd_group={0} and kd_jenis={1} and kd_satuan={2} and kd_merk={3} and kd_warna={4} and kd_ukuran={5} and tanggal_masuk {6}"
sql = String.Format(sql, _
IIf(cbo_group.Text = "ALL", "kd_group", "'" + cbo_group.Text + "'"), _
IIf(cbo_jenis.Text = "ALL", "kd_jenis", "'" + cbo_jenis.Text + "'"), _
IIf(cbo_satuan.Text = "ALL", "kd_satuan", "'" + cbo_satuan.Text + "'"), _
IIf(cbo_merk.Text = "ALL", "kd_merk", "'"+ cbo_merk.Text + "'"), _
IIf(cbo_warna.Text = "ALL", "kd_warna", "'" + cbo_warna.Text + "'"), _
IIf(cbo_ukuran.Text = "ALL", "kd_ukuran", "'" + cbo_ukuran.Text + "'"), _
IIf(chk_tglmasuk.Checked = True, "tanggal_masuk", ">='" + dtp_dari.Value + "'and tanggal_masuk<='" + dtp_sampai.Value + "'") )
2.Jika anda mengunakan
CrystalReport dan ingin langsung memakai property
SelectionFormula sql = "{barang.kd_group}={0} and {barang.kd_jenis}={1} and {barang.kd_satuan}={2} and {barang.kd_merk}={3} and {barang.kd_warna}={4} and {barang.kd_ukuran}={5} and {barang.tanggal_masuk}={6} "
sql = String.Format(sql, _
IIf(cbo_group.Text = "ALL", "{barang.kd_group}", "'" + cbo_group.Text + "'"), _
IIf(cbo_jenis.Text = "ALL", "{barang.kd_jenis}", "'" + cbo_jenis.Text + "'"), _
IIf(cbo_satuan.Text = "ALL", "{barang.kd_satuan}", "'" + cbo_satuan.Text + "'"), _
IIf(cbo_merk.Text = "ALL", "{barang.kd_merk}", "'" + cbo_merk.Text + "'"), _
IIf(cbo_warna.Text = "ALL", "{barang.kd_warna}","'" + cbo_warna.Text + "'"), _ IIf(cbo_ukuran.Text = "ALL", "{barang.kd_ukuran}", "'" + cbo_ukuran.Text + "'"), _
IIf(chk_tglmasuk.Checked = True, "{barang.tanggal_masuk}", ">='" + dtp_dari.Value + "' and {barang.tanggal_masuk}<='" + dtp_sampai.Value + "'") )
Bingung ? ini penjelasannya :
1.jika anda belum mengerti sintak
Format.String(), silahkan baca postingan saya
DISINI2.jika anda belum mengerti sintak
IIF, silhkan baca postingan saya
DISINI3.intinya adalah
jika comboBoxnya=ALL maka query condition adalah nama field itu sendiri, jika ComboBox<>ALL maka seperti biasa.Jadi hasilnya :
A.) Jika Semua
ComboBox=ALL dan
Checklish=False (tidak pilih tanggal masuk), hasil query (nilai variable sql) adalah :
-Untuk SQL Pertama :
sql = "SELECT * FROM BARANG WHERE kd_group=kd_group and kd_jenis=kd_jenis and kd_satuan=kd_satuan and kd_merk=kd_merk and kd_warna=kd_warna and kd_ukuran=kd_ukuran and tanggal_masuk=tanggal_masuk"
-Untuk SQL Kedua (
CrystalReport Selection Formula)
sql = "{barang.kd_group}={barang.kd_group} and {barang.kd_jenis}={barang.kd_jenis} and {barang.kd_satuan}={barang.kd_satuan} and {barang.kd_merk}={barang.kd_merk} and {barang.kd_warna}={barang.kd_warna} and {barang.kd_ukuran}={barang.kd_ukuran} and {barang.tanggal_masuk}={barang.tanggal_masuk} "B.) Jika salah satu atau semua ComboBox dipilih isinya (misal saya pilih group='ABC' dan jenis='PAKET' dan sisanya=ALL) dan
Checklish=true (pilih tanggal masuk), hasil query (nilai variable sql) adalah :
-Untuk SQL Pertama :sql = "SELECT * FROM BARANG WHERE kd_group='ABC' and kd_jenis='PAKET' and kd_satuan=kd_satuan and kd_merk=kd_merk and kd_warna=kd_warna and kd_ukuran=kd_ukuran and tanggal_masuk>='2013-06-07' and tanggal_masuk<='2013-06-07'"
-Untuk SQL Kedua (CrystalReport Selection Formula)sql = "{barang.kd_group}='ABC' and {barang.kd_jenis}='PAKET' and {barang.kd_satuan}={barang.kd_satuan} and {barang.kd_merk}={barang.kd_merk} and {barang.kd_warna}={barang.kd_warna} and {barang.kd_ukuran}={barang.kd_ukuran} and {barang.tanggal_masuk}>='2013-06-07' and {barang.tanggal_masuk}<='2013-06-07' " Penasaran ?
coba anda praktekan sendiri , query dibawah ini :
sql = "SELECT NOBUKTI, TGL, KET FROM TRANSAKSI"
akan sama hasilnya dengan
sql = "SELECT NOBUKTI, TGL, KET FROM TRANSAKSI WHERE NOBUKTI=NOBUKTI"
Tags:
mencetak report crystal report, membuat parameter crystal report, membuat kritetia report, cara cepat membuat report, cara filter cepat, membuat ALL di combobox, membuat pilihan ALL/ semua di combobox,