Friday, March 3, 2017

Membuat Function Untuk Mem-filter Record Dari Suatu Tabel

www.AstroDigi.com AstroDigi.com | Jumat, 03 Maret 2017 | Pada Microsoft Access, untuk memfilter record dari sebuah field biasanya programmer menggunakan query dengan klausa "Where" sebagai penentu persyaratan dari record yang boleh tampil.

Seringkali dibutuhkan sebuah fungsi yang dapat menggantikan asterisk (tanda bintang (*)) pada saat sebuah text-box digunakan sebagai media untuk menuliskan karakter penenut filter. Jadi misalnya saja dari sederetan record berisi nama-nama karyawan, diinginkan untuk menampilkan karyawan yang namanya mengandung "udi".

Dimana hasilnya nantinya setelah difilter akan ditampilkan nama: Marsudi, Yudi, Budi, Sudin .. Dan lain sebagainya yang namanya mengandung "udi". Untuk keperluan tersebut saya bagikan sebuah function untuk mempermudah pekerjaan ini. Berikut ini instruksinya:

Public Function srcStr(st01 As Variant) As String
Dim alfaKu As String
If IsNull(st01) Then
st01 = "*"
End If
srcStr = ("*" & st01 & "*")
End Function



Cara penggunaannya tinggal menyisipkan sebuah string yang dicari sebagai parameter pada query yang dibuat untuk menampilkan record dari tabel. Contoh berikut memperlihatkan cara memfilter field Nama_Karyawan yang berada pada tabel bernama Tabel_Karyawan

SELECT * FROM Tabel_Karyawan WHERE (Nama_Karyawan Like (srcstr("udi")));
Dalam contoh diatas, akan ditampilkan hanya karyawan yang namanya mengandung karakter "udi".
Bila parameter untuk memfilter diambil dari sebuah form, maka contoh query-nya adalah sebagai berikut:

SELECT * FROM Tabel_Karyawan WHERE (Nama_Karyawan Like (srcstr([Forms]![Form_Karyawan]![Kriteria])));

Dalam contoh diatas, parameter dari filter akan ditentukan oleh karakter yang diketikkan di text-box bernama: Kriteria.
Keuntungan dari menggunakan function srcstr(), adalah bila text-box kosong, maka akan dianggap text-box tersebut sudah diisi dengan karakter asterisk (*). Sehingga akan otomatis tidak ada pem-filter-an, sehingga semua record ditampilkan.

  www.AstroDigi.com (Nino Guevara Ruwano)