Funkcija DLookup

V Accessovih namiznih zbirkah podatkov lahko s funkcijo DLookup pridobite vrednost določenega polja iz določenega nabora zapisov (domene). Funkcijo DLookup lahko uporabite v modulu Visual Basic for Applications (VBA), makru, izrazu poizvedbe ali izračunanem kontrolniku v obrazcu ali poročilu.

Opomba : Vsebina tega članka se ne nanaša na Accessove spletne programe.

S funkcijo DLookup lahko prikažete vrednost polja, ki ni vključena v vir zapisov za obrazec ali poročilo. Denimo, da imate obrazec, ki temelji na tabeli »Podrobnosti o naročilu«. V obrazcu so prikazana polja »IDNaročila«, »IDizdelka«, »CenaEnote«, »Količina« in »Popust«. Polje »ImeIzdelka« pa je v drugi tabeli, in sicer v tabeli »Izdelki«. Funkcijo DLookup lahko uporabite v izračunanem kontrolniku, da polje »ImeIzdelka« prikažete v istem obrazcu.

Sintaksa

DLookup( izraz; domena [; pogoji] )

Sintaksa funkcije DLookup ima te argumente:

Argument

Opis

izraz

Obvezen. Izraz, ki določa polje, katerega vrednost želite pridobiti. To je lahko izraz niza, ki določa polje v tabeli ali poizvedbi, ali pa izraz, ki izvaja funkcijo računanja podatkov v tem polju. V argument izraz lahko vključite ime polja v tabeli, kontrolnik na obrazcu, konstanto ali funkcijo. Če argument izraz vključuje funkcijo, je lahko vgrajen ali uporabniško določen, ne more pa biti skupek druge domene ali združevalne funkcije strežnika SQL.

domena

Obvezen. Izraz niza, ki določa nabor zapisov, ki sestavljajo domeno. To je lahko ime tabele ali ime poizvedbe za poizvedbo, ki ne zahteva parametra.

pogoji

Neobvezen. Izraz niza, ki se uporablja za omejitev obsega podatkov, v katerem se izvede funkcija DLookup. Argument pogoji je na primer pogosto enakovreden stavku WHERE v izrazu strežnika SQL, vendar brez besede WHERE. Če izpustite argument pogoj, funkcija DLookup ovrednoti argument izraz glede na celotno domeno. Vsa polja, ki so vključena v argument pogoj, morajo biti tudi polje v argumentu domena, sicer funkcija DLookup vrne ničelno vrednost.

Opombe

Funkcija DLookup vrne vrednost enega polja glede na informacije, navedene v argumentu pogoji. Čeprav argument pogoji ni obvezen argument, vendar če ne navedete vrednosti za argument pogoji, funkcija DLookup vrne naključno vrednost v domeni.

Če noben zapis ne ustreza argumentu pogoji ali če argument domena ne vsebuje zapisov, funkcija DSum vrne ničelno vrednost.

Če pogoje iz argumenta pogoji izpolnjuje več polj, funkcija DLookup vrne prvo pojavitev. Določite pogoje, s katerimi zagotovite, da bo vrednost polja, ki jo vrne funkcija DLookup, enolična. Priporočamo, da za pogoje uporabite primarni ključ, kot je [EmployeeID] v spodnjem primeru, s katerim zagotovite, da funkcija DLookup vrne enolično vrednost:

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

Ne glede na to, ali uporabljate funkcijo DLookup v makru, modulu, izrazu poizvedbe ali izračunanem kontrolniku, morate skrbno ustvariti argument pogoji, če želite zagotoviti, da bo pravilno ovrednoten.

S funkcijo DLookup lahko določite pogoje v vrstici »Pogoji« v poizvedbi, izrazu izračunanega polja v poizvedbi ali vrstici »Posodobi na« v poizvedbi za posodabljanje.

Funkcijo DLookup lahko uporabite tudi v izrazu v izračunanem kontrolniku v obrazcu ali poročilu, če polja, ki ga želite prikazati, ni v viru zapisov, na katerem temelji obrazec ali poročilo. Denimo, da obrazec s podrobnostmi o naročilu temelji na tabeli s podrobnostmi o naročilu, ki vsebuje polje z besedilom, imenovano »IDIzdelka, ki prikaže polje »IDIzdelka«. Če želite poiskati »ImeIzdelka« v tabeli »Izdelki« na podlagi vrednosti v polju z besedilom, lahko ustvarite drugo polje z besedilom in njegovo lastnost VirKontrolnika nastavite na ta izraz:

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

Namigi

  • S funkcijo DLookup lahko prikažete vrednost iz polja v tuji tabeli, vendar bo morda bolj učinkovito, če ustvarite poizvedbo s polji, ki jih potrebujete iz obeh tabel, in nato to poizvedbo uporabite kot osnovo za obrazec ali poročilo.

  • Vrednosti v tuji tabeli lahko poiščete tudi s čarovnikom za iskanje.

Opomba : Neshranjene spremembe zapisov v argumentu domena niso vključene, ko uporabite to funkcijo. Če želite, da funkcija DLookup temelji na spremenjenih vrednostih, morate najprej shraniti spremembe tako, da kliknete Shrani zapis v skupini Zapisi na zavihku Podatki, s čimer premaknete fokus na drug zapis, ali pa uporabite način Posodobitev.

Primer

Opomba : V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Vsebina za razvijalce na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.

Spodnji primer vrne informacije o imenu iz polja »ImePodjetja« v zapisu, ki izpolnjuje vrednosti argumenta pogoji. Domeno predstavlja tabela »Pošiljatelji«. Argument pogoji omeji nabor zapisov na tiste, za katere je vrednost v polju »IDPošiljatelja« enaka 1.

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

Naslednji primer iz tabele »Pošiljatelji« uporablja kontrolnik obrazca »IDPošiljatelja« za zagotavljanje pogojev za funkcijo DLookup. Upoštevajte, da sklic na kontrolnik ni vključen v narekovaje, ki označujejo nize. S tem zagotovite, da Access ob vsakem priklicu funkcije DLookup pridobi trenutno vrednost iz kontrolnika.

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

V naslednjem primeru je za pridobitev vrednosti uporabljena spremenljivka intSearch.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)
Razširite svoja znanja
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×