Funktsioon DLookup

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Accessi töölauaandmebaasides saate selle DLookup funktsiooni abil tuua määratud kirjekomplektist (domeenist) kindla välja väärtuse. Saate kasutada DLookup moodulis Visual Basic for Applications (VBA), makros, päringuavaldises või vormi või aruande arvutatud juhtelemendis.

Selle funktsiooni abil DLookup saate kuvada sellise välja väärtuse, mis pole teie vormi või aruande kirjeallikas. Näiteks oletame, et teil on vorm, mis põhineb tabelil Tellimuse üksikasjad. Vormil OrderIDkuvatakse väljad , ProductID, UnitPrice, Quantityja Discount . Väli ProductName asub aga teises tabelis ehk Products tabelis. Funktsiooni saate kasutada DLookup arvutuslikus juhtelemendis samal vormil kuvamiseks ProductName .

Süntaks

DLookup(expr, domain [, criteria])

Funktsioonil DLookup on järgmised argumendid.

Argument Kirjeldus
expr Nõutav. Avaldis, mis tuvastab välja, mille väärtust soovite tagastada. See võib olla stringavaldis, mis tuvastab tabeli või päringu välja, või avaldis, mis arvutab selle välja andmeid. Rakenduses exprsaate kaasata tabelisse välja nime, vormi juhtelemendi, konstandi või funktsiooni. Kui expr see sisaldab funktsiooni, võib see olla sisseehitatud või kasutaja määratletud, kuid mitte muu domeeni kokkuvõtte- või SQL kokkuvõttefunktsioon.
domain Nõutav. Stringavaldis, mis tuvastab domeeni moodustava kirjekomplekti. See võib olla tabeli nimi või päringu nimi päringu jaoks, mis ei nõua parameetrit.
criteria Valikuline. Stringavaldis, mida DLookup kasutatakse funktsiooni käitatava andmevahemiku piiramiseks. Näiteks criteria on avaldises SQL tihti võrdväärne WHERE klausliga ilma sõnata WHERE. Kui see puudub criteria, DLookup hindab expr funktsioon kogu domeeni. Kõik kaasatud väljad criteria peavad olema ka i väljad domain. Muul juhul tagastab DLookup funktsioon väärtuse Null.

Kommentaarid

Funktsioon DLookup tagastab ühe väljaväärtuse, mis põhineb väljal criteriamääratud teabel. Kuigi criteria see on valikuline, tagastab funktsioon domeenis juhusliku väärtuse, DLookup kui te selle jaoks väärtust ei anna.

Kui ükski kirje ei vasta criteriavõi kui domain kirjeid pole, DLookup tagastab funktsioon väärtuse Null.

Kui vastab criteriarohkem kui ühele väljale DLookup , tagastab funktsioon esimese esinemiskorra. Peaksite määrama kriteeriumid, mis tagavad, et tagastatav DLookup väljaväärtus on kordumatu. Võib-olla soovite oma kriteeriumide jaoks kasutada primaarvõtme väärtust, näiteks [EmployeeID] järgmises näites, et DLookup tagada kordumatu väärtus:

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

Olenemata sellest DLookup , kas kasutate funktsiooni makros või moodulis, päringuavaldises või arvutuslikus juhtelemendis, koostage criteria argument hoolikalt, et Access hindaks seda õigesti.

Selle funktsiooni abil DLookup saate määrata kriteeriumid päringu real Kriteeriumid , päringu arvutusliku välja avaldises või värskenduspäringu reas Värskenda .

Funktsiooni saate kasutada DLookup ka vormi või aruande arvutusliku juhtelemendi avaldises, kui kuvatav väli ei kuulu vormi või aruande aluseks olevasse kirjeallikasse. Oletagem näiteks, et teil on vorm Tellimuse üksikasjad, mis põhineb tabelil Tellimuse üksikasjad ja tekstiväli, kus on ProductID kuvatud ProductID väli. Tekstiväljal oleva väärtuse põhjal tabelist Products otsimiseks ProductName looge uus tekstiväli ja määrake selle atribuudiKs ControlSource järgmine avaldis:

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

Nõuanded

  • Kuigi funktsiooni DLookup abil saate kuvada välistabeli välja väärtuse, võib olla tõhusam luua päring, mis sisaldab mõlemast tabelist pärinevaid välju, ja seejärel põhineda vormil või aruandel selle päringu alusel.
  • Väärtuste otsimiseks välistabelist saate kasutada ka Otsinguviisardit.

Märkus.

Selle funktsiooni kasutamisel ei kaasata kirjete domain salvestamata muudatusi. Kui soovite DLookup kasutada muudetud väärtusi, salvestage esmalt muudatused, klõpsates menüü Andmed jaotises Kirjed nuppu Salvesta kirje, liigutades fookuse mõnele muule kirjele või kasutades Update meetodit.

Näide

Märkus.

Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateavet VBA-ga töötamise kohta leiate teemast Accessi VBA teatmematerjalid.

Järgmises näites tagastatakse nimeteave kirje väljalt CompanyName , mis vastab väärtusele criteria. Domeen on Shippers tabel. Argument criteria piirab tulemiks saadud kirjete kogumit nendega, mille ShipperID väärtus on 1.

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

Järgmises tabelis toodud Shippers näites kasutatakse funktsiooni kriteeriumide saatmiseks vormi juhtelementi ShipperIDDLookup . Juhtelemendi viidet ei lisata jutumärkidesse, mis tähistavad stringe. See tagab, et iga kord DLookup käivitub, saab Access juhtelemendilt praeguse väärtuse.

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

Järgmises näites kasutatakse muutujat , intSearchet saada väärtus.

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