Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

V počítačových databázach Access môžete použiť funkciu DLookup na získanie hodnoty konkrétneho poľa zo zadanej množiny záznamov ( doména ). Funkcia DLookup sa dá použiť v týchto objektoch: modul jazyka Visual Basic for Applications (VBA), makro, výraz dotazu alebo vypočítavaný ovládací prvok vo formulári alebo zostave.

Funkciu DLookup môžete použiť na zobrazenie hodnoty poľa, ktoré nie je v zdroji záznamov funkcia zobrazovala hodnota poľa, ktoré sa nenachádza v zdroji záznamov formulára alebo zostavy. Predpokladajme napríklad, že máte formulár založený na tabuľke Podrobnosti objednávok. Formulár zobrazuje polia IDObjednávky, IDProduktu, JednotkováCena, Množstvo a Zľava. Pole NázovProduktu je však v inej tabuľke, a to v tabuľke Produkty. Funkciu DLookup by ste mohli použiť vo vypočítavanom ovládacom prvku na zobrazenie poľa NázovProduktu v rovnakom formulári.

Syntax

DLookup( výraz; doména [; kritériá] )

Syntax funkcie DLookup má tieto argumenty:

Argument

Popis

výraz

Povinné. Výraz určujúci pole, ktorého hodnota sa má vrátiť. Môže to byť napríklad reťazcový výraz, ktorý určí pole v tabuľke alebo v dotaze, alebo to môže byť výraz, ktorý vykoná výpočet s údajmi v poli. Do argumentu výraz môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak argument výraz zahŕňa funkciu, môže to byť vstavaná alebo používateľom definovaná funkcia, ale nie agregačná funkcia inej domény alebo agregačná funkcia SQL.

doména

Povinný argument. Výraz reťazca určujúci množinu záznamov, ktoré vytvárajú doménu. Môže to byť názov tabuľky alebo názov pre dotaz, ktorý nevyžaduje parameter.

kritériá

Voliteľné. Reťazcový výraz slúžiaci na obmedzenie rozsahu údajov, ktoré spracuje funkcia DLookup. Argument kritériá napríklad často zodpovedá klauzule WHERE vo výraze SQL, ale bez slova WHERE. Ak sa argument kritériá vynechá, funkcia DLookup vyhodnotí argument výraz voči celej doméne. Každé pole zahrnuté do argumentu kritériá musí byť aj poľom v argumente doména, v opačnom prípade funkcia DLookup vráti hodnotu Null.

Poznámky

Funkcia DLookup vráti hodnotu jedného poľa na základe informácií zadaných v argumente kritériá. Argument kritériá je síce voliteľný argument, ak však pre argument kritériá nezadáte hodnotu, funkcia DLookup vráti náhodnú hodnotu v doméne.

Ak argumentu kritériá nevyhovuje žiadny záznam alebo ak doména neobsahuje žiadne záznamy, funkcia DLookup vráti hodnotu Null.

Ak kritériá spĺňa viac polí, funkcia DLookup vráti prvý výskyt. Mali by ste zadať kritériá, ktoré zabezpečia jedinečnosť hodnoty poľa vrátenej funkciou DLookup . Môžete použiť primárny kľúč hodnotu pre kritériá, napríklad [EmployeeID] v nasledujúcom príklade, aby ste sa uistili, že funkcia DLookup vráti jedinečnú hodnotu:

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

Bez ohľadu na to, či funkciu DLookup použijete v makre, v module, vo výraze dotazu alebo vo vypočítavanom ovládacom prvku, argument kritériá je nutné zostaviť pozorne, aby sa zabezpečilo jeho správne vyhodnotenie.

Funkciu DLookup môžete použiť na zadanie kritérií v riadku Kritériá dotazu, v rámci výrazu vypočítavaného poľa v dotaze alebo v riadku Aktualizovať do v aktualizačný dotaz.

Funkciu DLookup môžete tiež použiť vo výraze vo vypočítavanom ovládacom prvku vo formulári alebo zostave, ak sa pole, ktoré potrebujete zobraziť, nenachádza v zdroji záznamov, na ktorom je založený formulár alebo zostava. Predpokladajme napríklad, že máte formulár Podrobnosti objednávok založený na tabuľke Podrobnosti objednávok s textovým poľom s názvom IDProduktu, ktoré zobrazuje pole IDProduktu. Ak chcete hľadať NázovProduktu z tabuľky Produkty na základe hodnoty v textovom poli, môžete vytvoriť ďalšie textové pole a nastaviť jeho vlastnosť ZdrojOvládaciehoPrvku na tento výraz:

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

Tipy

  • Napriek tomu, že funkciu DLookup môžete použiť na zobrazenie hodnoty z poľa v cudzia tabuľka, môže byť efektívnejšie vytvoriť dotaz obsahujúci polia, ktoré potrebujete z oboch tabuliek, a potom založiť formulár alebo zostavu na danom dotaze.

  • Na hľadanie údajov v cudzej tabuľke môžete použiť aj Sprievodcu vyhľadávaním.

Poznámka: Pri použití tejto funkcie sa do spracovania nezahrnú neuložené zmeny v záznamoch v doméne. Ak chcete , aby bola funkcia DLookup založená na zmenených hodnotách, je najprv nutné tieto zmeny uložiť tak, že na karte Údaje v časti Záznamy kliknete na položku Uložiť záznam , presuniete zameranie na iný záznam alebo použijete metódu Update.

Príklad

Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ďalšie informácie o práci s jazykom VBA nájdete v odkaze na accessový jazyk VBA.

Nasledujúci príklad vráti informácie o názve z poľa NázovSpoločnosti záznamu, ktorý spĺňa kritériá. Doménou je tabuľka Špeditéri. Argument kritériá obmedzuje výslednú množinu záznamov na záznamy, pre ktoré sa vlastnosť IDŠpeditéra rovná hodnote 1.

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

Nasledujúci príklad z tabuľky Špeditéri používa ovládací prvok formulára IDŠpeditéra na poskytnutie kritérií pre funkciu DLookup. Všimnite si, že odkaz na ovládací prvok sa nenachádza v úvodzovkách, ktoré označujú reťazce. Tým sa zabezpečí, že pri každom volaní funkcie DLookupAccess získa aktuálnu hodnotu z ovládacieho prvku.

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

Nasledujúci príklad používa na získanie hodnoty premennú, a to intSearch.

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

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.