DLookup függvény
1. (5)
Hatókör: Microsoft Office Access 2000, 2003, 2007 A DLookup függvénnyel megkaphatja egy adott mező értékét egy adott rekordkészletből egy tartományból (tartomány: Tábla, lekérdezés vagy SQLkifejezés által definiált rekordkészlet. A tartományösszegző függvények adott tartományról vagy rekordkészletről jelenítenek meg statisztikai adatokat). A DLookup függvényt használhatja Visual Basic for Applications (VBA) modulokban, makrókban (makró: Művelet vagy műveletek csoportja, amelyet feladatok automatizálására használhatunk. A makrók Visual Basic for Applications programozási nyelven készülnek.), lekérdező kifejezésekben és űrlapon vagy jelentésen lévő számított vezérlőelemekben (számított vezérlőelem: Kifejezés eredményét megjelenítő vezérlőelem űrlapokon, jelentésekben vagy adatelérési lapokon. A program minden alkalommal újraszámítja az eredményt, amikor a kifejezés alapjául szolgáló értékekben változás következik be.). A DLookup függvénnyel megjelenítheti egy olyan mező értékét is, amely nem az ű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 megjeleníti a Rendeléskód, Termékkód, Egységár, Mennyiség, és Engedmény mezőt. A Terméknév mező azonban egy másik táblában, a Termékek táblában van. A DLookup függvény használható egy számított vezérlőelemben a Terméknév értéknek az ugyanazon az űrlapon való megjelenítésére.
2008. december 28. (Vasárnap)
Tóth Csaba
DLookup függvény
2. (5)
Szintaxis DLookup(kifejezés, tartomány, [feltételek] ) A DLookup függvény argumentumai a következők: Argumentum
kifejezés
tartomány
feltételek
Leírás Kötelező. Egy kifejezés, amely megadja azt a mezőt, amelynek az értékét meg szeretné kapni. Lehet karakterlánc-kifejezés (karakterlánc-kifejezés: Bármely kifejezés, amely folytonos karakterláncot ad vissza értékként. A kifejezés elemei karakterláncot vagy Variant (VarType 8) típusú karakterláncot függvények, szöveges literális értékek, szöveges állandók, szöveges változók, valamint Variant típusú karakterláncok lehetnek.), amely megad egy táblában vagy lekérdezésben lévő mezőt, vagy lehet olyan kifejezés, amely számítást hajt végre a mezőben lévő adaton. A kifejezésben lehet táblában lévő mező neve, űrlapon lévő vezérlőelem, állandó vagy függvény. Ha a kifejezésben függvény van, az lehet beépített vagy felhasználói, de nem lehet más tartományösszesítő vagy összesítő SQL-függvény. Kötelező. Karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordkészletet. Lehet táblanév vagy egy olyan lekérdezés neve, amelyhez nem szükséges paraméter. Nem kötelező. Karakterlánc-kifejezés, amellyel megadja, hogy mely adatokra alkalmazza a DLookup függvényt. A feltételek argumentum például gyakran egy SQL kifejezés WHERE záradéka a WHERE szó nélkül. Ha nincsenek feltételek, a DLookup függvény a teljes tartományon értékeli ki a kifejezést. A feltételekben megadott mezőknek benne kell lenniük a tartományban, különben a DLookup függvény Null (Null: Hiányzó vagy ismeretlen adatot jelölő, mezőkbe bevihető, valamint kifejezésekben és lekérdezésekben használható érték. A Visual Basic programban a Null kulcsszó Null értéket jelöl. Bizonyos mezők, például az elsődleges kulcsot tároló mezők, nem tartalmazhatnak Null értéket.) értéket ad vissza.
Megjegyzés A DLookup függvény egyetlen mezőértéket ad eredményül a feltételekben megadott adatok alapján. Bár a feltételek argumentum nem kötelező, ha nem ad meg feltételeket, akkor a DLookup függvény egy találomra választott értéket ad a tartományból. Ha nincs a feltételeknek megfelelő rekord, vagy a tartomány nem tartalmaz rekordot, akkor a DLookup függvény Null értéket ad eredményül.
2008. december 28. (Vasárnap)
Tóth Csaba
DLookup függvény
3. (5)
Ha egynél több mező felel meg a feltételeknek, 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 (elsődleges kulcs: Egy vagy több mező (oszlop), amelynek értékei egyedi módon azonosítják a tábla egyes rekordjait. Az elsődleges kulcs nem rendelkezhet Null értékkel, és mindig egyedi index tartozik hozzá. Az elsődleges kulccsal a tábla egy másik tábla idegen kulcsaihoz rendelhető.) használni (például az alábbi példában az [Alkalmazottkód] kulcsot) azért, hogy a DLookup függvény egyedi értéket adjon eredményül: Dim varX As Variant varX = DLookup("[Vezetéknév]", "Alkalmazottak", _ "[Alkalmazottkód] = 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ételeket gondosan kell megalkotni, hogy megfelelően menjen végbe a függvény kiértékelése. A DLookup függvényt használhatja arra, hogy megadja a feltételeket egy lekérdezés Feltétel sorában egy lekérdezés számítottmező-kifejezésén belül vagy egy frissítő lekérdezés (frissítő lekérdezés: Olyan módosító lekérdezés (SQLutasítás), amely a megadott keresési feltételeknek megfelelő rekordkészletet változtatja meg.) 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("[Terméknév]", "Termékek", "[Termékkód] =" & Forms![Rendelés részletei]!Termékkód)
2008. december 28. (Vasárnap)
Tóth Csaba
DLookup függvény
4. (5)
Tipp y Ugyan a DLookup függvény is használható egy mezőjében lévő értékek megjelenítésére, 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. y Értékek idegen táblában való megkeresésére használhatja a Keresés varázslót is. Megjegyzés: A tartomány rekordjainak nem mentett módosításait a rendszer nem veszi figyelembe, amikor ezt a függvényt használja. 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 rá kell kattintania az Adatok lap Rekordok eleménél a Rekord mentése gombra, másik rekordra kell állítania a fókuszt, vagy használnia kell 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. További információ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 kaphatunk. Az alábbi példa a név adatot adja eredményül a feltételeket kielégítő rekord Cégnév mezőjéből. A tartomány a Szállítmányozók tábla. A feltételek argumentum megszorítja az eredményül kapott rekordhalmazt azokra a rekordokra, amelyekre a Szállítmányozókód=1. Dim varX As Variant varX = DLookup("[Cégnév]", _ "Szállítmányozók", "[Szállítmányozókód] = 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, a Microsoft Office Access a vezérlőelemtől kéri le az aktuális értéket. Dim varX As Variant varX = DLookup("[Cégnév]", "Szállítmányozók", _ "[Szállítmányozókód] = " & Forms!Szállítmányozók!Szállítmányozókód)
2008. december 28. (Vasárnap)
Tóth Csaba
DLookup függvény
5. (5)
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("[Cégnév]", "Szállítmányozók", _ "[Szállítmányozókód] = " & intSearch)
2008. december 28. (Vasárnap)
Tóth Csaba