Fungsi DLookup

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Dalam pangkalan data desktop Access, anda boleh menggunakan fungsi DLookup untuk mendapatkan nilai medan tertentu daripada set ditentukan rekod (yang domain). Gunakan fungsi DLookup dalam Visual Basic for Applications (VBA) modul, makro, ungkapan pertanyaan atau kawalan terhitung pada borang atau laporan.

Nota: Artikel ini tidak digunakan untuk aplikasi web Access.

Anda boleh menggunakan fungsi DLookup untuk memaparkan nilai bagi medan yang tidak terdapat dalam sumber rekod borang atau laporan anda. Contohnya, katakan anda mempunyai borang berdasarkan Jadual butiran pesanan. Borang memaparkan medan Idpesanan, ProductID, UnitPrice, kuantiti dan diskaun. Walau bagaimanapun, medan ProductName berada dalam Jadual lain, Jadual produk. Anda boleh menggunakan fungsi DLookup dalam kawalan terhitung untuk memaparkan ProductName yang pada borang sama.

Sintaks

DLookup ( expr, domain [kriteria] )

Sintaks fungsi DLookup mempunyai argumen ini:

Argumen

Perihalan

expr

Diperlukan. Ungkapan yang mengenal pasti medan nilai yang anda ingin kembali. Mungkin yang ungkapan rentetan mengenal pasti medan dalam Jadual atau pertanyaan, atau anda boleh menggunakan ungkapan yang melaksanakan pengiraan pada data dalam medan tersebut. Dalam expr, anda boleh memasukkan nama medan dalam Jadual, kawalan pada borang, pemalar atau fungsi. Jika expr termasuk fungsi, ia boleh sama ada terbina dalam atau takrifan pengguna, tetapi tidak lain agregat domain atau SQL fungsi agregat.

domain

Diperlukan. Ungkapan rentetan yang mengenal pasti set rekod yang membentuk domain. Anda boleh nama Jadual atau nama pertanyaan untuk pertanyaan yang tidak memerlukan parameter.

kriteria

Pilihan. Ungkapan rentetan yang digunakan untuk mengehadkan julat data yang fungsi DLookup dilaksanakan. Contohnya, kriteria adalah sering kali sama dengan Klausa WHERE dalam ungkapan SQL, tanpa perkataan yang. Jika kriteria dikeluarkan, fungsi DLookup menilai expr terhadap keseluruhan domain. Sebarang medan yang termasuk dalam kriteria mesti juga merupakan medan dalam domain; Jika tidak, fungsi DLookup mengembalikan satu nol.

Catatan

Mengembalikan fungsi DLookup nilai medan tunggal berdasarkan maklumat yang ditentukan dalam kriteria. Walaupun kriteria adalah argumen pilihan, jika anda tidak membekalkan nilai bagi kriteria, fungsi DLookup mengembalikan nilai rawak dalam domain.

Jika tiada rekod memenuhi kriteria atau jika domain mengandungi rekod tiada, fungsi DLookup mengembalikan kepada nol.

Jika lebih daripada satu medan memenuhi kriteria, fungsi DLookup mengembalikan kejadian pertama. Anda perlu menentukan kriteria yang akan memastikan bahawa nilai medan yang dikembalikan oleh fungsi DLookup unik. Anda mungkin ingin menggunakan nilai kunci primer bagi kriteria anda, seperti [EmployeeID] dalam contoh berikut, untuk memastikan bahawa fungsi DLookup mengembalikan nilai unik:

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

Sama ada anda menggunakan fungsi DLookup dalam makro atau modul, ungkapan pertanyaan atau kawalan terhitung, anda mesti membina argumen kriteria dengan teliti untuk memastikan bahawa ia akan dinilai dengan betul.

Anda boleh menggunakan fungsi DLookup untuk menentukan kriteria dalam baris kriteria pertanyaan, dalam ungkapan medan terhitung dalam pertanyaan atau dalam baris kemas kini ke dalam satu kemas kini pertanyaan.

Anda juga boleh menggunakan fungsi DLookup dalam ungkapan dalam kawalan terhitung pada borang atau laporan jika medan yang anda perlu memaparkan tidak dalam sumber rekod yang anda borang atau laporan berdasarkan. Contohnya, katakan anda mempunyai borang butiran pesanan yang berdasarkan Jadual butiran pesanan dengan kotak teks yang dipanggil ProductID yang memaparkan medan ProductID. Untuk mencari ProductName dari jadual produk yang berdasarkan nilai dalam kotak teks, anda boleh mencipta kotak teks lain dan Setkan sifat ControlSource kepada ungkapan berikut:

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

Petua

  • Walaupun anda boleh menggunakan fungsi DLookup untuk memaparkan nilai daripada medan dalam jadual asing, ia mungkin lebih cekap untuk mencipta pertanyaan yang mengandungi medan yang anda perlukan daripada kedua-dua Jadual kemudian untuk mendasarkan borang atau laporan pada pertanyaan tersebut.

  • Anda juga boleh menggunakan Bestari carian untuk mencari nilai dalam Jadual asing.

Nota: Perubahan tidak disimpan rekod dalam domain tidak disertakan apabila anda menggunakan fungsi ini. Jika anda ingin fungsi DLookup untuk berdasarkan nilai berubah, anda terlebih dahulu mesti menyimpan perubahan dengan mengklik Simpan rekod di bawah rekod pada tab Data , mengalihkan fokus kepada rekod lain, atau dengan menggunakan kaedah kemas kini .

Contoh

Nota: Contoh berikut menunjukkan penggunaan fungsi ini dalam Visual Basic for Applications (VBA) modul. Untuk maklumat lanjut tentang bekerja dengan VBA, pilih Rujukan pembangun dalam senarai juntai bawah di sebelah Cari dan memasukkan satu atau lebih istilah dalam kotak carian.

Contoh berikut mengembalikan nama maklumat dari dalam medan rekod yang memuaskan kriteriaNamasyarikat. Domain adalah Jadual penghantar. Argumen criteria mengehadkan set hasil rekod untuk mereka yang ShipperID sama dengan 1.

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

Contoh berikut daripada jadual penghantar menggunakan kawalan borang ShipperID untuk menyediakan kriteria bagi fungsi DLookup . Perhatikan bahawa rujukan kepada kawalan tidak disertakan dalam tanda petikan yang menunjukkan rentetan. Ini memastikan bahawa setiap kali fungsi DLookup dipanggil, Access akan mendapat nilai semasa daripada kawalan.

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

Contoh berikut menggunakan pemboleh ubah intSearch, untuk mendapatkan nilai.

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

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×