DLookup függvény

Az asztali Access-adatbázisokban a DLookup függvénnyel megkaphatja egy adott mező értékét egy meghatározott rekordkészletből (tartományból). A DLookup függvényt használhatja VBA-modulokban, makrókban, lekérdező kifejezésekben és űrlapon vagy jelentésen lévő számított vezérlőelemben.

Megjegyzés : Ez a cikk az Access-webalkalmazásokra nem érvényes.

A DLookup függvénnyel megjelenítheti egy olyan mező értékét is, amely nem az adott űrlap vagy jelentés rekordforrásában van. Tegyük fel, hogy van egy űrlapja, amely a Rendelés részletei táblán alapul. Az űrlap a Rendeléskód, a Termékkód, az Egységár, a Mennyiség és az Engedmény mezőt tartalmazza. A Terméknév mező azonban másik táblában, a Termékek táblában van. Egy számított vezérlőelemben elhelyezett DLookup függvénnyel megjelenítheti a Terméknév értékét ugyanazon az űrlapon.

Szintaxis

DLookup( kifejezés; tartomány [; feltétel] )

DLookup függvény argumentumai a következők:

Argumentum

Leírás

kifejezés

Kötelező. Olyan kifejezés, amely megadja azt a mezőt, amelynek értékeit vissza szeretné adni. Lehet olyan karakterlánc-kifejezés, amely megadja egy tábla vagy lekérdezés egy mezőjét, vagy lehet egy olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezés argumentum tartalmazhatja egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés argumentum függvényt tartalmaz, akkor az lehet beépített és felhasználó által megadott függvény is, de másik tartományösszesítő vagy összesítő SQL-függvény nem.

tartomány

Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. Lehet táblanév vagy olyan lekérdezés neve, amelyhez nem szükséges paramétert megadni.

feltétel

Nem kötelező. Olyan karakterlánc-kifejezés, amellyel megadja, hogy mely adatokra kell alkalmazni a DLookup függvényt. A feltétel argumentum például gyakran egyenértékű egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha a feltétel argumentum nincs megadva, a DLookup függvény a teljes tartományon értékeli ki a kifejezés argumentumot. A feltétel argumentumban megadott mezőknek benne kell lenniük a tartományban, különben a DLookup függvény eredménye null

Megjegyzések

A DLookup függvény egyetlen mezőértéket ad eredményül a feltétel argumentumban megadott érték alapján. Bár a feltétel argumentum nem kötelező, ha nem ad értéket a feltétel argumentumnak, akkor a DLookup függvény véletlenszerűen választott értéket ad vissza a tartományból.

Ha nincs olyan rekord, amely megfelel a feltétel argumentumnak, vagy ha a tartomány nem tartalmaz rekordot, akkor a DLookup függvény null értéket ad.

Ha több mező felel meg a feltétel argumentumnak, akkor a DLookup függvény az első előfordulást adja eredményül. Úgy kell megadni a feltételeket, hogy a DLookup függvény által adott mezőérték egyedi legyen. Feltételként érdemes elsődleges kulcsot használni (például az alábbi példában az [EmployeeID] kulcsot) azért, hogy a DLookup függvény egyedi értéket adjon eredményül:

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

Akár makróban, modulban, lekérdező kifejezésben vagy számított vezérlőelemben használja a DLookup függvényt, a feltétel argumentumot gondosan kell megalkotni, hogy az Access megfelelően értékelje ki a függvényt.

Használhatja a DLookup függvényt feltételek megadására egy lekérdezés Feltétel sorában vagy számítottmező-kifejezésében, vagy egy frissítő lekérdezés Módosítás sorában.

Használhatja a DLookup függvényt egy űrlapon vagy jelentésen lévő számított vezérlőelemben, ha a megjelenítendő mező nem abban a rekordforrásban van, amelyen az űrlap vagy a jelentés alapul. Tegyük fel például, hogy van egy a Rendelés részletei táblán alapuló Rendelés részletei űrlapja egy Termékkód nevű beviteli mezővel, amely a Termékkód mezőt jeleníti meg. Ha a beviteli mező értéke alapján a Termékek táblából ki szeretné keresni a Terméknév értéket, akkor létrehozhat egy másik beviteli mezőt, és a Mező vagy kifejezés beállítását a következő kifejezésre állíthatja:

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

Tippek

  • Bár a DLookup függvénnyel is megjeleníthetők egy idegen tábla mezőjében lévő értékek, valószínűleg hatékonyabb létrehozni egy lekérdezést, amely tartalmazza mindkét tábla mezőit, majd az űrlapot vagy jelentést erre a lekérdezésre alapozni.

  • Értékek idegen táblában való megkeresésére használhatja a Keresés varázslót is.

Megjegyzés : Amikor ezt a függvényt használja, a tartomány rekordjainak nem mentett módosításait nem veszi figyelembe az Access. Ha azt szeretné, hogy a DLookup függvény a módosított értékeket vegye alapul, először mentenie kell a módosításokat. Ehhez kattintson az Adatok lap Rekordok csoportjában a Rekord mentése gombra, vigye a fókuszt másik rekordra, vagy használja az Update metódust.

Példa

Megjegyzés : A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.

Az alábbi példa a név adatot adja eredményül a feltétel argumentumot kielégítő rekord Cégnév mezőjéből. A tartomány a Szállítmányozók táblának felel meg. A feltétel argumentum azokra a rekordokra korlátozza a rekordkészletet, amelyekben „1” a Szállítmányozókód mező értéke.

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

A következő Szállítmányozók táblára vonatkozó példa a Szállítmányozókód űrlapvezérlőt használja a DLookup függvénnyel. Vegye észre, hogy a vezérlőelemre való hivatkozás nincs a karakterláncokat jelölő idézőjelek között. Ez azt eredményezi, hogy akárhányszor meghívja a DLookup függvényt, az Access a vezérlőelemtől kéri le az aktuális értéket.

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

A következő példa az intSearch változót használja az érték lekérésére.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)
Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×