Fungsi DLookup

Di database desktop Access Anda bisa menggunakan fungsi DLookup untuk mendapatkan nilai bidang tertentu dari sekumpulan rekaman yang telah ditentukan (a domain). Gunakan fungsi DLookup dalam modul Visual Basic for Applications (VBA), makro, kueri ekspresi, atau kontrol terhitung pada formulir atau laporan.

Catatan: Artikel ini tidak berlaku untuk aplikasi web Access.

Anda bisa menggunakan fungsi DLookup untuk menampilkan nilai bidang yang tidak ada dalam sumber rekaman untuk formulir Anda atau laporan Anda. Sebagai contoh, misalkan Anda memiliki formulir berdasarkan tabel Detail Pesanan. Formulir menampilkan bidang IDPesanan, IDProduk, HargaSatuan, Jumlah, dan Diskon. Namun, bidang NamaProduk berada di tabel lain, tabel Produk. Anda bisa menggunakan fungsi DLookup dalam kontrol terhitung untuk menampilkan NamaProduk pada formulir yang sama.

Sintaks

DLookup( expr, domain [, criteria] )

Sintaks fungsi DLookup memiliki argumen ini:

Argumen

Deskripsi

expr

Diperlukan. Ekspresi yang mengidentifikasi bidang yang nilai yang hasilnya ingin Anda dapatkan. Ini bisa berupa ekspresi string yang mengidentifikasi bidang pada tabel atau kueri, atau bisa berupa ekspresi yang menjalankan penghitungan pada data di bidang itu. Di expr, Anda juga bisa menyertakan nama bidang dalam tabel, kontrol pada formulir, konstanta, atau fungsi. Jika expr menyertakan suatu fungsi, itu bisa berupa bawaan atau ditetapkan pengguna, tapi tidak domain lain SQL agregat atau fungsi agregat SQL.

domain

Diperlukan. Ekspresi string yang mengidentifikasi sekumpulan rekaman yang membentuk domain. Ini bisa berupa nama tabel atau nama kueri untuk kueri yang tidak memerlukan parameter.

criteria

Opsional. Ekspresi string yang digunakan untuk membatasi rentang data di mana fungsi DLookup DLookup dijalankan. Misalnya, criteria seringkali sama dengan klausa WHERE dalam ekspresi SQL, tanpa kata WHERE. Jika criteria dihilangkan, fungsi DLookup mengevaluasi WHERE mengevaluasi terhadap seluruh domain. Bidang mana pun yang disertakan dalam criteria harus juga merupakan bidang dalam domain; jika tidak, fungsi DLookup mengembalikan Null.

Keterangan

Fungsi DLookup mengembalikan satu bidang nilai berdasarkan informasi yang ditentukan dalam criteria. Meskipun criteria adalah argumen opsional, jika Anda tidak memasukkan nilai untuk criteria, fungsi DLookup mengembalikan nilai acak dalam domain.

Jika tidak ada rekaman yang memenuhi criteria atau jika domain tidak berisi rekaman, fungsi DLookup mengembalikan Null.

Jika lebih dari satu bidang yang memenuhi criteria, fungsi DLookup mengembalikan kemunculan pertama. Anda harus menentukan kriteria yang akan memastikan bahwa nilai bidang yang dikembalikan oleh fungsi DLookup adalah unik. Ada baiknya Anda menggunakan nilai kunci utama untuk kriteria Anda, seperti [EmployeeID] dalam contoh berikut ini, guna memastikan bahwa fungsi DLookup mengembalikan nilai yang unik:

Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _
"[EmployeeID] = 1")

Baik Anda menggunakan fungsi DLookup dalam makro atau modul, ekspresi kueri, atau kontrol terhitung, Anda harus membangun argumen criteria dengan saksama guna memastikan bahwa argumen itu akan dievaluasi dengan benar.

Anda bisa menggunakan fungsi DLookup untuk menetapkan kriteria di baris Criteria suatu kueri, di dalam ekspresi bidang terhitung dalam kueri, atau di baris Perbarui Menjadi dalam perbarui kueri.

Anda juga bisa menggunakan fungsi DLookup di dalam ekspresi dalam kontrol terhitung pada formulir atau laporan jika bidang yang perlu Anda tampilkan tidak berada dalam sumber rekaman yang menjadi dasar laporan Anda. Sebagai contoh, misalkan Anda memiliki formulir Detail Pesanan berdasarkan tabel Detail Pesanan dengan kotak teks disebut IDProduk yang menampilkan bidang IDProduk. Untuk mencari NamaProduk dari tabel Produk berdasarkan nilai dalam kotak teks, Anda dapat membuat kotak teks lainnya dan menetapkan properti SumberKontrol ke ekspresi berikut ini:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Tips

  • Meskipun Anda bisa menggunakan fungsi DLookup untuk menampilkan nilai dari bidang dalam tabel asing, mungkin lebih efisien membuat kueri yang berisi bidang yang Anda perlukan dari kedua tabel lalu ke mendasarkan formulir atau laporan Anda pada kueri itu.

  • Anda juga bisa menggunakan Panduan Pencarian untuk menemukan nilai dalam tabel asing.

Catatan: Perubahan yang tidak disimpan ke rekaman dalam domain tidak disertakan saat Anda menggunakan fungsi ini. Jika Anda ingin fungsi DLookup didasarkan pada nilai yang diubah, Anda harus terlebih dahulu menyimpan perubahan dengan mengklik Simpan Rekaman di bawah Rekaman pada tab Data, memindahkan fokus ke rekaman lain, atau dengan menggunakan metode Pembaruan.

Contoh

Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

Contoh berikut mengembalikan informasi nama dari bidang NamaPerusahaan rekaman yang memenuhi kriteria. Domainnya adalah tabel Pengirim. Argumen criteria membatasi kumpulan rekaman yang dihasilkan pada kumpulan rekaman di mana IDPengirim sama dengan 1.

Dim varX As Variant
varX = DLookup("[CompanyName]", _
"Shippers", "[ShipperID] = 1")

Contoh berikutnya dari tabel Pengirim menggunakan kontrol formulir IDPengirim untuk menyediakan kriteria untuk fungsi DLookup. Perhatikan bahwa referensi ke kontrol tidak disertakan dalam tanda kutip yang menggambarkan string. Ini memastikan bahwa tiap kali fungsi DLookup dipanggil, Access akan mendapatkan nilai saat ini dari kontrol tersebut.

Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & Forms!Shippers!ShipperID)

Contoh berikutnya menggunakan variabel, intSearch, untuk mendapatkan nilai tersebut.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)
Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×