Selection Formula pada Crystal Report 8.5

Baca Juga

Artikel ini melanjutkan pembahasan tentang code simple untuk menampilkan halaman report (Crystal report 8.5) dengan Visual Basic 6.0, yang kurang lebih seperti ini :

Private Sub Command1_Click()
On Error Resume Next
with crt1
.Reset
.Destination = crptToWindow
.ReportFileName = "C:\Data\Laporanxxx.rpt"
.WindowState = crptMaximized
.WindowShowPrintBtn = True
.WindowShowRefreshBtn = True
.RetrieveDataFiles
.Action = 1
End with
End Sub

Code diatas digunakan menampilkan report secara utuh tanpa adanya filter pada report tersebut, andaikata kita memiliki data penjualan selama satu tahun penuh, maka code diatas akan menampilkan data tersebut secara keseluruhan, tidak terbayangkan berapa halaman banyaknya laporan yang ditampilkan. OLeh karena itu agar report dapat ditampilkan lebih fleksibel dengan tujuan analisa terhadap laporan tersebut akan jauh lebih efektif, diperlukan adanya filter, dalam Crystal Report  8.5 dikenal dengan nama "Selection Formula". kurang lebih contoh penulisan kodenya seperti ini :
1. untuk Field berisi huruf (contoh : kodebarang, namabarang) :
crt1.SelectionFormula = "{namatabel.namafield}='" + text1.text + "'"
2. untuk Field berisi angka (contoh : kuantitas, harga) :
crt1.SelectionFormula = "{namatabel.namafield}=" + text1.text  + ""
3. untuk Field berisi tanggal (contoh : tanggalfaktur) : 
crt1.SelectionFormula = "{namatabel.namafield}=#" + format(DTPicker1.value,"yyyy-mm-dd")  + "#"

Apabila filter lebih dari satu tinggal menambahkan AND atau OR, contoh :
crt1.SelectionFormula = "{namatabel.namafield}=" + text1.text  + " AND {namatabel.namafield}=" + text2.text  + ""

Dimana code diletakkan ?

code tersebut diletakkan sebelum Crt1.RetrieveDatafiles, sehingga code selengkapnya akan seperti ini :


Private Sub Command1_Click()
On Error Resume Next
with crt1
.Reset
.Destination = crptToWindow
.ReportFileName = "C:\Data\Laporanxxx.rpt"
.WindowState = crptMaximized
.WindowShowPrintBtn = True
.WindowShowRefreshBtn = True
.SelectionFormula = "{namatabel.namafield}=" + text1.text  + " AND {namatabel.namafield}=" + text2.text  + ""
.RetrieveDataFiles
.Action = 1
End with
End Sub

Selamat Mencoba !

Untuk Link download yang sudah saya perbaiki dapat dilihat pada halaman DOWNLOAD, walaupun baru sedikit semoga bisa bermanfaat,untuk cara download silakan lihat DI SINI, Terima kasih

25 Tanggapan

mau tanya dong..
kan ada project,trus report nya ada. formatnya .rpt kan !!!
nahh masa report/laporannya masa ga nampil ??
gmn yaa bang !!

kode on error resume next dihilangkan dulu mas terus cek errornya sebelah mana. tq :)

saya mua tanya ?
kalo misalkan kita ingin memfilter akanga
misalkan dari 15 - 50 bagaiman ya Formula x
thanks sebelumnya.....

tinggal menggunakan tanda lebih besar samadengan dan lebih kecil samadengan. contoh :

crt1.SelectionFormula = "{namatabel.namafield}>=" + text1.text + " AND {namatabel.namafield}<=" + text2.text"

kalo hanya 5,10,15,23 aja gimana bank

klw seleksi dengan 2 DTPicker untuk tanggal awal dan tanggal akhir agar menjadi laporan mingguan gimana codingnya gan???

THANKS mas broo... mudeng udah 2 minggu nyari source code ini,,,jiahhh ktmu juga & All Work...ta kasihh CENDOOOLLLL niiiii

kalau mau nampilin record yang nilai bonus >=80000000 gimana gan? saya bikin kayak gini error..
CrystalReport1.selectionformula="{@bonus}>='" & Text1.text & "'"
Text1 sudah di set 80000000

Tanda petik satunya dihilangkan, kurang lebih spt ini ,

CrystalReport1.selectionformula="{@bonus}>=" & Text1.text & ""

Karena tanda petik satu untuk field bertipe text, sedangkan yg digunakan pada sf diatas adalah field bertipe angka.

Trmkasih

Makasih mas atas informasi ini..
nih sangat bermanfaat banget bagi saya...
s'X lg makasih yh mas...
alhamdulillah..

mas,,
mw nanya mas,
jdi mas lw mw menggabungkan ke 3 format tersebut gmn mas cara nya..??
soalnya saya ingin membuat selection formula berdasarkan 3 format tersebut dlam 1 form..
tlong bantuannya mas...

numpang nanya mas
gimana mas cara filter laporannya kalaw menngunakan query di ms. Accses?

With crt1
.Reset
.Destination = crptToWindow
.ReportFileName = App.Path _
& "\surat.masuk.RPT"
.WindowState = crptMaximized
.WindowShowPrintBtn = True
.WindowShowRefreshBtn = True
.SelectionFormula = "{surat_masuk.Kode_surat}='" + Txtkodesurat.Text + "'"
.RetrieveDataFiles
.Action = 1
End With

bales ke twitter aja ya kaka @zaelani45

Komentar ini telah dihapus oleh pengarang.

kalau error nya seperti ini g mana mas ?
mohon pencerahannya
("A String is require here")
run-time error '20515'

berarti membutuhkan field/nilai bertipe string/text untuk menjalankan reportnya, coba dicek dulu di reportnya mas.

kalo untuk konek ke localhost databasenya gmna ya?? saya nyoba pakai kode di ataas ada type mismatch terus bang

mas punya saya diklik laporan tidak keluar apa apa bagaimana ya??

eror ,20515 gan, field required

eror ,20515 gan, field required

Maaf mass mau tanya. Saya buat laporan di crystal report itu ada yg menggunakan running field, lalu saya tempatkan lg di formula field. Di preview crystal reportnya jadi dan muncul formula itu, tp saat di visual basicnya tidak ada. Gimama cara memunculkan formula itu ya mas?mohon pencerahannya mas.terimakasih

mas kalo formulanya tidak sama dengan jenis misal jenis 2 gmn ya bang...mohon pencerahannya....suwun....


Formulir Kontak

Nama

Email *

Pesan *

Pengikut