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()
.Reset
.Destination = crptToWindow
.ReportFileName = "C:\Data\Laporanxxx.rpt"
.WindowState = crptMaximized
.WindowShowPrintBtn = True
.WindowShowRefreshBtn = True
.RetrieveDataFiles
.Action = 1
End with
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) :
3. untuk Field berisi tanggal (contoh : tanggalfaktur) :crt1.SelectionFormula = "{namatabel.namafield}=" + text1.text + ""
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()
.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
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 !
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :