Skip to main content

Fungsi DLookup di MS Access

Di Access, fungsi DLookup digunakan untuk memperoleh nilai sebuah field dalam sekumpulan record. Fungsi DLookup dapat digunakan di VBA, modul, macro, query, atau kontrol yang ada dalam form atau report.
Sintaks penulisan DLookup adalah sebagai berikut:

DLookup (Expr, Domain [, Criteria])

Keterangan:

Expr (Ekspresi): wajib diisi, merupakan ekspresi yang menunjukkan nama field. Nilai pada nama field inilah yang dihasilkan oleh fungsi DLookup. Nama field ini bisa diperoleh secara langsung dengan menuliskan nama field atau merupakan proses dari formula tertentu yang menghasilkan nama field.

Domain (Domain): wajib diisi, merupakan ekspresi string yang menunjukkan sekumpulan record. Domain bisa berupa sekumpulan record dari sebuah query atau dari sebuah tabel.

Criteria (Kriteria): tidak wajib diisi, merupakan ekspresi yang digunakan untuk membatasi record yang ada di Domain. Jika kosong, maka fungsi DLookup akan mengevaluasi Ekspresi dalam keseluruhan Domain. Dalam hal ini, bila ada banyak nilai yang sama, fungsi DLookup menampilkan nilai paling awal yang ditemukan.
Jika mempunyai nilai, maka field yang ada dalam Kriteria harus ada dalam Domain. Jika field dari Kriteria tidak ada dalam Domain, maka fungsi DLookup akan bernilai Null.

Supaya fungsi DLookup bisa dijalankan dengan benar, kita harus menuliskan kriterianya dengan teliti. Dalam hal ini, nilai dari tipe data field yang ada dalam Domain akan mempengaruhi penulisan kriteria. Nilai dari tipe data teks atau string selalu ditulis di antara tanda '' (dua tanda kutip tunggal), tipe data tanggal selalu ditulis di antara tanda ## (dua tanda pagar). Untuk tipe data angka, nilai dari kriteria tidak memerlukan tanda apapun.

Aturan penulisan nama field pada Ekspresi atau Kriteria 

Secara umum, bagi pemula yang masih belajar MS Access, penulisan nama field pada Ekspresi atau Kriteria adalah sebagai berikut:
  1. Bila nama field terdiri dari 2 atau lebih suku kata yang terpisah, maka penulisan field menggunakan tanda kurung siku ([ ]), misalnya field Nama Kota ditulis [Nama Kota], field Tanggal Lahir ditulis [Tanggal Lahir], dan sebagainya.
  2. Bila nama field hanya terdiri dari satu suku kata, penulisan nama field tidak harus menggunakan tanda kurung siku.
  3. Bila nama field terdiri dari 2 atau lebih suku kata tetapi digabung menjadi satu suku kata, penulisan nama field tidak harus menggunakan tanda kurung siku, namun hendaknya ditulis dengan lebih jelas, misalnya dengan metode CamelCase
Fungsi DLookup hanya menampilkan satu hasil nilai saja. Jadi, bila ingin mencari nilai dari sebuah Domain dengan kriteria field yang unik (dalam hal ini disebut primary key) maka kita hanya perlu menuliskan satu kriteria saja sudah cukup. Bila Domain tidak mempunyai primary field, maka kita harus menggunakan minimal dua atau lebih field dalam Domain. Untuk lebih jelasnya silakan lihat contoh di bawah.


Pada gambar tabel tblVoucherTemp di atas, field voucherID adalah primary field dan bersifat unik dan index.
? DLookup("vouchAmount","tblVoucherTemp","vouchId=156")
 7973000 
Contoh fungsi DLookup di bawah ini memberikan hasil yang sama dengan contoh di atas.
? DLookup("vouchAmount","tblVoucherTemp","vouchId=156 And vouchOrderNo=11")
 7973000 
Kriteria nilai field vouchOrderNo=11 tidak diperlukan karena nilai field vouchId yang bersifat unik sudah mewakili pencarian nilai yang diinginkan, yaitu nilai vouchAmount dengan vouchId=156 yang hanya ada satu-satunya dalam tblVoucherTemp.
Pada contoh di bawah ini, kita menggunakan dua kriteria field yang bila digabungkan menjadi field yang unik, sehingga hanya ada satu nilai vouchAmount yang memenuhi kriteria
? DLookup("vouchAmount","tblVoucherTemp","vouchSupplierCustomer='Gratika Cab. Yogyakarta' And vouchOrderNo=11")
 7973000 

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access