Példakifejezések

A cikkben szereplő példák az Accessben használható kifejezésekkel kapcsolatban nyújtanak segítséget. A kifejezés matematikai és logikai operátorok, állandók, függvények, táblamezők, vezérlőelemek és tulajdonságok olyan kombinációja, amely végeredményben egyetlen értéket ad vissza. Az Accessben használható kifejezésekkel értékeket számíthat ki, adatokat ellenőrizhet, és megadhat egy alapértelmezett értéket.

Tartalom

Űrlapok és jelentések

A jelen szakaszban szereplő táblázatokban az űrlapokban és jelentésekben szereplő vezérlőelemek értékeinek kiszámításához használható kifejezéseket mutatjuk be. Ha számított vezérlőelemet szeretne létrehozni, a kívánt kifejezést a vezérlő Mező vagy kifejezés tulajdonságában, nem pedig egy táblamezőben vagy lekérdezésben kell megadnia.

Megjegyzés:    Akkor is használhat kifejezéseket az űrlapokban vagy jelentésekben, amikor értékek kiemelését végzi feltételes formázással.

Szöveges műveletek

A következő táblázatban bemutatott kifejezések az & (és) és a + (plusz) operátort használják szöveges karakterláncok egyesítéséhez, beépített függvényeket a szöveges karakterláncok kezeléséhez, illetve a szövegen végrehajtott egyéb műveletekkel számított vezérlőelemeket hoznak létre.

Kifejezés

Eredmény

="N/A"

A Hiányzik eredményt adja.

=[FirstName] & " " & [LastName]

A Vezetéknév és Utónév nevű mező értékeit jeleníti meg. Ebben a példában az & operátor a Vezetéknév mező, az idézőjelek közé helyezett szóköz karakter, illetve az Utónév mező egyesítésére szolgál.

=Left([ProductName], 1)

A Left függvény segítségével megjeleníti a Terméknév nevű mező vagy vezérlőelem értékének első karakterét.

=Right([AssetCode], 2)

A Right függvény segítségével megjeleníti az EszközKód nevű mező vagy vezérlőelem értékének utolsó két karakterét.

=Trim([Address])

A Trim függvény segítségével megjeleníti a Cím vezérlőelem értékét, és eltávolítja az esetleges kezdő és záró szóközt.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

Az IIf függvény segítségével megjeleníti a Település és az Irányítószám vezérlőelemek értékét, amennyiben a Megye vezérlőelem értéke null. Ellenkező esetben szóközökkel elválasztva megjeleníti a Település, a Megye és az Irányítószám vezérlőelemek értékeit.

=[City] & (" " + [Region]) & " " & [PostalCode]

A + operátor és a nullterjesztés segítségével megjeleníti a Település és az Irányítószám vezérlőelemek értékét, amennyiben a Megye mező vagy vezérlőelem értéke null. Ellenkező esetben szóközökkel elválasztva megjeleníti a Település, a Megye és az Irányítószám mezők vagy vezérlőelemek értékeit.

A nullterjesztés azt jelenti, hogy ha a kifejezés bármelyik összetevőjének értéke null, akkor a teljes kifejezés értéke is null. A nullterjesztést a + operátor támogatja, az & operátor azonban nem.

Vissza a lap tetejére

Fejlécek és láblécek

Az űrlapok vagy jelentések oldalszámainak megjelenítéséhez vagy nyomtatásához használja a Page és a Pages tulajdonságot. Ezek csak nyomtatás közben vagy nyomtatási nézetben érhetők el, vagyis nem jelennek meg az űrlap vagy a jelentés tulajdonságlistájában. A tulajdonságok használatához illesszen be egy szövegmezőt az űrlap vagy jelentés fejléc- vagy láblécszakaszába, majd alkalmazza például az alábbi táblázat egyik kifejezését.

Az űrlapokon és jelentésekben használható fejlécekről és láblécekről további információt az Oldalszámozás beillesztése űrlapra vagy jelentésbe című témakörben talál.

Kifejezés

Eredmény

=[Page]

1

="Page " & [Page]

1. oldal

="Page " & [Page] & " of " & [Pages]

3/1. oldal

=[Page] & " of " & [Pages] & " Pages"

1/3. oldal

=[Page] & "/" & [Pages] & " Pages"

1. oldal, összesen: 3

=[Country/region] & " - " & [Page]

UK - 1

=Format([Page], "000")

001

="Printed on: " & Date()

Nyomtatás ideje: 17.12.31.

Vissza a lap tetejére

Aritmetikai műveletek

A kifejezéseket használhatja két vagy több mező vagy vezérlőelem értékeinek összeadásához, kivonásához, szorzásához és osztásához. A kifejezésekkel emellett dátumokon is végrehajthat számtani műveleteket. Tegyük fel például, hogy létrehozott egy IgényeltDátum nevű, Dátum/Idő típusú táblamezőt. A mezőben (vagy a mezőhöz kötött vezérlőelemben) megadott =[RequiredDate] - 2 kifejezés a mezőben szereplő aktuális dátumnál két nappal korábbi dátum/idő értéket fog eredményül adni.

Kifejezés

Eredmény

=[Subtotal]+[Freight]

A Részösszeg és a Fuvardíj mező vagy vezérlőelem értékeinek összege.

=[RequiredDate]-[ShippedDate]

Az IgényeltDátum és a SzállításiDátum mező vagy vezérlőelem dátumértékei közötti időkülönbség.

=[Price]*1.06

Az Ár mező vagy vezérlőelem értéke szorozva 1,06-tal (az Ár mező értéke megnövelve 6%-kal).

=[Quantity]*[Price]

A Mennyiség és az Ár mező vagy vezérlőelem értékeinek szorzata.

=[EmployeeTotal]/[CountryRegionTotal]

Az ÖsszesAlkalmazott és az ÖsszesOrszágRégió mező vagy vezérlőelem értékeinek hányadosa.

Megjegyzés:    Ha egy kifejezésben számtani operátort (+, -, * vagy /) használ, és az adott kifejezés egyik vezérlőelemének értéke null, akkor a teljes kifejezés értéke is null – ezt nevezzük nullterjesztésnek. Ha a kifejezésben használt valamelyik vezérlőelem bármely rekordja null értékű lehet, a nullterjesztés elkerülése érdekében célszerű a null értéket nulla értékké alakítani. Erre a célra az Nz függvény használható, például így: =Nz([Subtotal])+Nz([Freight]).

Vissza a lap tetejére

Más vezérlőelemekben szereplő értékek

Előfordulhat, hogy a munka során olyan értékre van szüksége, amely egy másik űrlap vagy jelentés egy mezőjében szerepel. Ebben az esetben kifejezés használatával adhatja vissza a kívánt értéket.

Az alábbi táblázatban olyan kifejezésekre talál példákat, amelyeket űrlapok számított vezérlőelemeiben használhat.

Kifejezés

Eredmény

=Forms![Orders]![OrderID]

A Rendelések űrlap Rendelésazonosító vezérlőelemének értéke.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

A Rendelések űrlap Rendelések segédűrlap nevű segédűrlapján található RendelésRészösszege nevű vezérlőelem értéke.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

A Rendelések űrlap Rendelések segédűrlap nevű segédűrlapján található többoszlopos lista, a Termékkód harmadik oszlopának értéke. (Ne feledje, hogy az oszlopok számozása a következőképpen alakul: 0, 1, 2 stb.)

=Forms![Orders]![Orders Subform]![Price] * 1.06

A Rendelések űrlap Rendelések segédűrlap nevű segédűrlapján található Ár vezérlőelem értéke megszorozva 1,06-tal (az Ár vezérlőelem értéke megnövelve 6%-kal).

=Parent![OrderID]

Az aktuális segédűrlap szülőűrlapján található Rendelésazonosító vezérlőelem értéke.

Az alábbi táblázatban szereplő kifejezések bemutatják, hogy miként használhatók a számított vezérlőelemek a jelentésekben. A kifejezések a Report tulajdonságra hivatkoznak.

Kifejezés

Eredmény

=Report![Invoice]![OrderID]

A „Számla” nevű jelentés „Rendelésazonosító” nevű vezérlőelemének értéke.

=Report![Summary]![Summary Subreport]![SalesTotal]

Az Összesítés nevű jelentés Összesítés segédjelentés nevű segédjelentésében található ÖsszEladás vezérlőelem értéke.

=Parent![OrderID]

Az aktuális segédjelentés szülőjelentésében található Rendelésazonosító vezérlőelem értéke.

Vissza a lap tetejére

Értékek megszámlálása, összegzése és átlagának kiszámítása

Egy vagy több mező vagy vezérlőelem értékének kiszámításához célszerű az összesítő függvénytípust használni. Kiszámíthatja például a csoportösszeget egy jelentés csoportláblécében, vagy egy rendelés részösszegét egy űrlap sortételei alapján. Emellett megszámolhatja az egy vagy több mezőben található tételeket, illetve kiszámíthatja átlagértéküket.

Az alábbi táblázatban található kifejezések azt mutatják be, hogy hogyan használható például az Avg, a Count és a Sum függvény.

Kifejezés

Leírás

=Avg([Freight])

Az Avg függvény segítségével kiszámítja a „Fuvardíj” nevű táblamezőben vagy vezérlőelemben szereplő értékek átlagát.

=Count([OrderID])

A Count függvény segítségével megadja a Rendelésazonosító vezérlőelem rekordjainak számát.

=Sum([Sales])

A Sum függvény segítségével kiszámítja az Értékesítés vezérlőelem értékeinek összegét.

=Sum([Quantity]*[Price])

A Sum függvény segítségével kiszámítja a Mennyiség és az Ár vezérlőelemekben szereplő értékek szorzatának összegét.

=[Sales]/Sum([Sales])*100

A kifejezés elosztja az Értékesítés vezérlőelem értékeit az Értékesítés vezérlőelem értékeinek összegével, és ezáltal meghatározza az értékesítés százalékos értékét.

Ha a vezérlőelem Format tulajdonságát Percent értékre állítja, a kifejezésből kihagyható a *100 összetevő.

Az összesítő függvényekről, valamint a mezők és oszlopok értékeinek összesítéséről további információt Az adatok összegzése lekérdezés használatával, az Adatok megszámlálása lekérdezéssel, az Adatlap sorainak megszámolása és az Oszlopösszesítők megjelenítése adatlapon című témakörökben talál.

Vissza a lap tetejére

SQL-összesítési függvények

Az SQL-összesítési vagy területi összegző függvények használata akkor javasolt, ha szelektív módon szeretné összegezni vagy megszámlálni az adott értékeket. Egy „terület” egy vagy több tábla egy vagy több mezőjéből, illetve egy vagy több űrlap vagy jelentés egy vagy több vezérlőeleméből tevődik össze. Egy táblamező értékeit megfeleltetheti például egy űrlap vezérlőelemének értékeinek.

Kifejezés

Leírás

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

A DLookup függvénnyel visszaadja a Szállítók tábla KapcsolattartóNeve mezőjének értékét, ahol a tábla Szállítóazonosító mezőjének értéke megegyezik a Szállítók űrlap Szállítóazonosító vezérlőelemének értékével.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

A DLookup függvénnyel visszaadja a Szállítók tábla KapcsolattartóNeve mezőjének értékét, ahol a tábla Szállítóazonosító mezőjének értéke megegyezik az Új szállítók űrlap Szállítóazonosító vezérlőelemének értékével.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

A DSum függvény segítségével visszaadja a Rendelések tábla RendeltMennyiség mezőjének összesített értékét, ahol az Ügyfélazonosító értéke RATTC.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

A DCount függvény segítségével visszaadja az Eszközök táblában található Kivezetve mező (egy Igen/Nem típusú mező) Igen értékeinek számát.

Vissza a lap tetejére

Dátumműveletek

A dátumok és időpontok követése az adatbázisok alapvető műveletei közé tartozik. Kiszámítható például a számlakibocsátás időpontja óta eltelt napok száma, és elvégezhető a kinnlevőség korosítása. A következő táblázat a dátumok és időpontok különféle formázási lehetőségeit mutatja be.

Kifejezés

Leírás

=Date()

A Date függvény segítségével mm-dd-yy formátumban megjeleníti az aktuális dátumot. A mm a hónapot (1-től 12-ig), a dd a napot (1-től 31-ig), a yy pedig az adott év utolsó két számjegyét (1980-tól 2099-ig) jelöli.

=Format(Now(), "ww")

A Format függvény segítségével megjeleníti az aktuális dátum éven belüli hétszámát. A ww a hét számát jelöli (1-től 53-ig).

=DatePart("yyyy", [OrderDate])

A DatePart függvény segítségével megjeleníti a RendelésDátuma vezérlőelem értékének négyjegyű évszámát.

=DateAdd("y", -10, [PromisedDate])

A DateAdd függvény segítségével megjeleníti az ÍgértDátum vezérlőelem értékénél 10 nappal korábbi dátumot.

=DateDiff("d", [OrderDate], [ShippedDate])

A DateDiff függvény segítségével megjeleníti a RendelésDátuma és a SzállításiDátum vezérlőelemek értékei közti napokban mért különbséget.

=[InvoiceDate] + 30

Dátumokon elvégzett számtani műveletekkel kiszámítja a SzámlakibocsátásDátuma mező vagy vezérlőelem dátumához mért 30 nappal későbbi dátumot.

Vissza a lap tetejére

Csak két érték feltételei

Az alábbi táblázatban található példákban az IIf függvényt használtuk két lehetséges érték egyikének visszaadására. Az IIf függvénynek három argumentumot kell átadni. Az első argumentum egy kifejezés, amelynek a True vagy a False értéket kell eredményül adnia. A második argumentum a visszaadandó érték, ha a kifejezés eredménye igaz, a harmadik pedig a visszaadandó érték, ha a kifejezés eredménye hamis.

Kifejezés

Leírás

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

Az IIf (Immediate If) függvény segítségével a „Rendelés visszaigazolva” üzenetet jeleníti meg, ha a Visszaigazolva vezérlőelem értéke Yes; ellenkező esetben a „"Order Not Confirmed."” üzenet jelenik meg.

=IIf(IsNull([Country/region]), " ", [Country])

Az IIf és az IsNull függvény segítségével üres karakterláncot jelenít meg, ha az OrszágRégió vezérlőelem értéke null; ellenkező esetben az OrszágRégió vezérlőelem értékét adja eredményül.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

Az IIf és az IsNull függvény segítségével megjeleníti a Település és az Irányítószám vezérlőelemek értékét, amennyiben a Megye vezérlőelem értéke null. Ellenkező esetben a Település, a Megye és az Irányítószám mezők vagy vezérlőelemek értékét adja eredményül.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Az IIf és az IsNull függvény segítségével a „Hiányzó dátum keresése” üzenetet jeleníti meg, ha az IgényeltDátum vezérlőelem értékéből kivontuk a SzállításiDátum értékét, és ennek eredménye null. Ellenkező esetben a két vezérlőelem értéke közti különbséget adja eredményül.

Vissza a lap tetejére

Lekérdezések és szűrők

Ebben a szakaszban olyan kifejezésekre talál példákat, amelyekkel számított mezőket hozhat létre lekérdezésekben, illetve megadhatja a lekérdezés feltételeit. A számított mezők a lekérdezés olyan oszlopai, amelyek egy kifejezés eredményeképpen jöttek létre. Kiszámíthat például egy adott értéket, szöveges értékeket fűzhet össze (például egy vezeték- és egy utónevet), vagy formázhatja a dátumok részeit.

A lekérdezésekben feltételek megadásával korlátozhatja a használt rekordok számát. A Between operátorral például megadhat egy kezdő és egy záró dátumot, és azokra a megrendelésekre korlátozhatja a lekérdezés eredményeit, amelyek szállítási ideje a két dátum közé esik.

Az alábbi példák a kifejezések használatát mutatják be a lekérdezésekben.

Szöveges műveletek

A következő táblázatban bemutatott kifejezések az & és a + operátort használják szöveges karakterláncok egyesítéséhez, beépített függvényeket a szöveges karakterláncok kezeléséhez, illetve a szövegen végrehajtott egyéb műveletekkel számított mezőket hoznak létre.

Kifejezés

Leírás

FullName: [FirstName] & " " & [LastName]

Létrehozza a TeljesNév mezőt, amelyben megjelennek a Vezetéknév és az Utónév mező szóközzel elválasztott értékei.

Address2: [City] & " " & [Region] & " " & [PostalCode]

Létrehozza a Cím2 mezőt, amelyben megjelennek a Település, a Megye és az Irányítószám mező szóközzel elválasztott értékei.

ProductInitial: Left([ProductName], 1)

Létrehozza a TerméknévRöviden mezőt, majd a Left függvénnyel megjeleníti benne a Terméknév mező értékének első karakterét.

TypeCode: Right([AssetCode], 2)

Létrehozza a TípusKód mezőt, majd a Right függvénnyel megjeleníti benne az Eszközkód mező értékének utolsó két karakterét.

AreaCode: Mid([Phone],2,3)

Létrehozza a Körzetszám mezőt, majd a Mid függvénnyel megjeleníti benne a Telefonszám mező három karakterét a második karaktertől kezdve.

ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

A számított mezőnek a TeljesÁr nevet adja, és a Ccur függvény segítségével kiszámítja egy adott tétel kedvezménnyel csökkentett végösszegét.

Vissza a lap tetejére

Aritmetikai műveletek

A kifejezéseket használhatja két vagy több mező vagy vezérlőelem értékeinek összeadásához, kivonásához, szorzásához és osztásához. Emellett dátumokon is végrehajthat számtani műveleteket. Tegyük fel például, hogy létrehozott egy IgényeltDátum nevű, Dátum/Idő típusú mezőt. A =[RequiredDate] - 2 kifejezés az IgényeltDátum mezőben szereplő dátumnál két nappal korábbi Dátum/Idő típusú értéket fog eredményül adni.

Kifejezés

Leírás

PrimeFreight: [Freight] * 1.1

Létrehozza az ElsődlegesFuvardíj elnevezésű mezőt, majd megjeleníti benne a 10%-kal növelt fuvardíjat.

OrderAmount: [Quantity] * [UnitPrice]

Létrehozza a RendeltMennyiség nevű mezőt, majd megjeleníti benne a Mennyiség és az Egységár mező értékeinek szorzatát.

LeadTime: [RequiredDate] - [ShippedDate]

Létrehozza az ÁtfutásiIdő nevű mezőt, majd megjeleníti benne az IgényeltDátum és a SzállításiDátum mező értékei közötti különbséget.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

Létrehozza a TeljesKészlet nevű mezőt, majd megjeleníti benne a Raktáron és a SzállításraVár mező értékeinek összegét.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Létrehozza a SzázalékosFuvardíj nevű mezőt, majd százalékban kifejezve megjeleníti benne az egyes részösszegekre eső fuvardíjat. A kifejezés a Sum függvény segítségével kiszámítja a Fuvardíj mező értékeinek összegét, majd elosztja azokat a Részösszeg értékeinek összegével.

A kifejezés használatához, alakítsa a kiválasztott lekérdezést Összegző lekérdezéssé, mivel szüksége lesz a tervezőrács Összeg sorára, és Expression értékre kell állítania a mező Összesítés celláját.

Az Összegző lekérdezés létrehozásáról további információt Az adatok összegzése lekérdezés használatával című témakörben talál.

Ha a mező Format tulajdonságát Percent értékre állítja, kihagyható a *100 összetevő.

Az összesítő függvényekről, valamint a mezők és oszlopok értékeinek összesítéséről további információt Az adatok összegzése lekérdezés használatával, az Adatok megszámlálása lekérdezéssel, az Adatlap sorainak megszámolása és az Oszlopösszesítők megjelenítése adatlapon című témakörökben talál.

Vissza a lap tetejére

Dátumműveletek

Csaknem minden adatbázis eltárolja és nyomon követi a dátumokat és időpontokat. Ha dátumokkal és időpontokkal kapcsolatos műveleteket szeretne végrehajtani az Accessben, állítsa a tábla dátum és idő mezőit Dátum/idő adattípusra. Az Accessben dátumokkal is végezhetők számtani műveletek. Kiszámítható például a számlakibocsátás időpontja óta eltelt napok száma, és elvégezhető a kinnlevőség korosítása.

Kifejezés

Leírás

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

Létrehozza az IdőbeliEltérés nevű mezőt, majd a DateDiff függvény segítségével megjeleníti a rendelési és a szállítási dátum közti napok számát.

YearHired: DatePart("yyyy",[HireDate])

Létrehozza az AlkalmazásÉve nevű mezőt, majd a DatePart függvény segítségével megjeleníti, hogy az egyes alkalmazottak melyik évben lettek felvéve.

MinusThirty: Date( )- 30

Létrehozza a MínuszHarminc nevű mezőt, majd a Date függvény segítségével megjeleníti az aktuális dátumot 30 nappal megelőző dátumot.

Vissza a lap tetejére

SQL-összesítési függvények

A következő táblázatban szereplő kifejezések adatok összesítését és összegzését lehetővé tévő SQL-függvényeket használnak. Az ilyen függvényeket (például Sum, Count és Avg) gyakran összesítő függvényekként is emlegetik.

Az összesítő függvények mellett az Accessben ún. „területi” összesítő függvények is használhatók, amelyek az egyes értékek szelektív összegzését vagy megszámlálását teszik lehetővé. Ezek használata akkor javasolt, ha csak az egy adott tartományban található értékeket szeretné megszámolni, vagy egy másik táblában szereplő értéket keres. A területi összesítő függvények közé tartozik a DSum függvény, a DCount függvény és a DAvg függvény.

Ha összesítést szeretne számolni, a legtöbb esetben előbb létre kell hozni egy Összegző lekérdezést. Csoport szerinti összegzés készítéséhez például szükséges az Összegző lekérdezés. Ha a lekérdezéstervező rácsról szeretné engedélyezni az Összegző lekérdezést, Adatlap nézetben kattintson az Összesítés elemre.

Kifejezés

Leírás

RowCount: Count(*)

Létrehozza a SorokSzáma nevű mezőt, majd a Count függvény segítségével megszámolja a lekérdezésben szereplő rekordokat, beleértve a null értékű (üres) mezőket tartalmazó rekordokat is.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Létrehozza a SzázalékosFuvardíj nevű mezőt, majd a Fuvardíj mező értékeinek összegét elosztja a Részösszeg mező értékeinek összegével, és százalékban kifejezve kiszámítja az egyes részösszegekre eső fuvardíjat. (Ebben a példában a Sum függvényt használtuk.)

Összegző lekérdezés esetében ezt a kifejezést kell használni. Ha a mező Format tulajdonságát Percent értékre állítja, kihagyható a *100 összetevő.

Az összegző lekérdezések létrehozásáról további információt Az adatok összegzése lekérdezés használatával című témakörben talál.

AverageFreight: DAvg("[Freight]", "[Orders]")

Létrehozza az ÁtlagosFuvardíj mezőt, majd az Összegző lekérdezésben egyesített megrendelések alapján a DAvg függvénnyel kiszámolja az átlagos fuvardíjat.

Vissza a lap tetejére

Mezők hiányzó adatokkal

Az alábbi kifejezések használatát olyan mezők esetében javasoljuk, amelyekből hiányoznak bizonyos adatok. Ilyen mezők például a null értékű, vagyis ismeretlen vagy meghatározatlan értéket tartalmazó mezők. Munka közben gyakran találkozhatunk null értékekkel, például ha egy új terméknek még nincs ára, vagy ha egy munkatársunk elmulasztott egy bizonyos értéket hozzáadni egy megrendeléshez. Az adatbázisokban végzett műveletek során létfontosságú, hogy megkeressük és feldolgozzuk a null értékeket. A következő táblázat ennek leggyakoribb módjait ismerteti.

Kifejezés

Leírás

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

Létrehozza az AktuálisOrszágRégió nevű mezőt, majd az IIf és az IsNull függvények segítségével megjelenít benne egy üres karakterláncot, ha az OrszágRégió mező null értéket tartalmaz; ellenkező esetben az OrszágRégió mező tartalmát adja eredményül.

LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Létrehozza az ÁtfutásiIdő mezőt, majd az IIf és az IsNull függvény segítségével a „Hiányzó dátum keresése” üzenetet jeleníti meg, ha az IgényeltDátum vagy a SzállításiDátum mező értéke null; ellenkező esetben a dátumok közti különbséget adja eredményül.

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

Létrehozza a FélévesEladás nevű mezőt, az Nz függvénnyel minden null értéket nulla értékké alakít, majd megjeleníti az 1.negyedév és a 2.negyedév mezők értékeinek összegét.

Vissza a lap tetejére

Segédlekérdezéseket tartalmazó számított mezők

Számított mező létrehozásához használhat beágyazott lekérdezést, más néven segédlekérdezést. A következő táblázatban ismertetett kifejezés jól példázza, hogyan lehet segédlekérdezéssel számított mezőt létrehozni.

Kifejezés

Leírás

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

Létrehozza a Kat. nevű mezőt, majd megjeleníti a Kategórianév adatot, ha a Kategóriák tábla Kategóriaazonosító értéke megegyezik a Termékek tábla Kategóriaazonosító értékével.

Vissza a lap tetejére

Szöveges értékek egyeztetése

Az alábbi táblázat példakifejezései olyan feltételeket mutatnak be, amelyek teljes vagy részleges szövegérték-egyezést adnak eredményül.

Mező

Kifejezés

Leírás

SzállításiVáros

"London"

A Budapestre szállított szállítmányokat jeleníti meg.

SzállításiVáros

"London" Or "Hedge End"

Az Or operátor segítségével megjeleníti a Budapestre vagy a Debrecenbe szállított szállítmányok listáját.

SzállításiOrszágRégió

In("Canada", "UK")

Az In operátor segítségével megjeleníti a Kanadába vagy az Egyesült Királyságba szállított szállítmányok listáját.

SzállításiOrszágRégió

Not "USA"

A Not operátor segítségével megjeleníti az Egyesült Államokon kívül az összes szállítási országot/régiót.

Terméknév

Not Like "C*"

A Not operátor és a * helyettesítő karakter segítségével megjeleníti a nem C betűvel kezdődő termékek listáját.

VállalatNeve

>="N"

Megjeleníti azokat a szállítmányokat, amelyek az N-től Z-ig terjedő betűvel kezdődő vállalatok számára lettek kiszállítva.

Termékkód

Right([ProductCode], 2)="99"

A Right függvény segítségével megjeleníti azokat a szállítmányokat, amelyeknél a Termékkód mező értéke 99-re végződik.

SzállításiNév

Like "S*"

Megjeleníti az S betűvel kezdődő ügyfelek számára kiszállított szállítmányokat.

Vissza a lap tetejére

Dátumfeltételek egyeztetése

Az alábbi táblázatban szereplő kifejezések bemutatják, miként használhatók dátumok és hasonló függvények a feltételkifejezésekben. A dátumértékek megadásáról és használatáról további információt a Dátum- és időértékek hozzáadása című témakörben talál.

Mező

Kifejezés

Leírás

SzállításiDátum

#2/2/2017#

Megjeleníti a 2017. február 2-án kiszállított szállítmányokat.

SzállításiDátum

Date()

Az aznapi szállítmányokat adja eredményül.

IgényeltDátum

Between Date( ) And DateAdd("m", 3, Date( ))

A Between...And operátor, valamint a DateAdd és a Date függvény segítségével megjeleníti az aktuális dátumtól számítva három hónapon belül esedékes megrendeléseket.

RendelésDátuma

< Date( ) - 30

A Date függvény segítségével megjeleníti a 30 napnál régebbi megrendeléseket.

RendelésDátuma

Year([OrderDate])=2017

A Year függvény segítségével megjeleníti a 2017-es megrendeléseket.

RendelésDátuma

DatePart("q", [OrderDate])=4

A DatePart függvény segítségével megjeleníti a negyedik naptári negyedévre eső megrendeléseket.

RendelésDátuma

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

A DateSerial, a Year és a Month függvény segítségével megjeleníti az egyes hónapok utolsó napjára eső megrendeléseket.

RendelésDátuma

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

A Year és a Month függvény, valamint az And operátor segítségével megjeleníti az aktuális év aktuális hónapjában esedékes megrendeléseket.

SzállításiDátum

Between #1/5/2017# And #1/10/2017#

A Between...And operátor segítségével megjeleníti a 2017. január 5-nél nem régebben és a 2017. január 10-nél nem később kiszállított megrendeléseket.

IgényeltDátum

Between Date( ) And DateAdd("M", 3, Date( ))

A Between...And operátor segítségével megjeleníti az aktuális dátumtól számítva három hónapon belül esedékes megrendeléseket.

SzületésiDátum

Month([BirthDate])=Month(Date())

A Month és a Date függvény segítségével megjeleníti azokat az alkalmazottakat, akik az adott hónapban ünneplik a születésnapjukat.

Vissza a lap tetejére

Hiányzó adatok megkeresése

A következő táblázatban ismertetett kifejezések olyan mezők kezelésére használhatók, amelyekből valószínűleg hiányzik valamely adat, vagyis melyek feltételezhetően null értéket vagy nulla hosszúságú karakterláncot tartalmaznak. A null érték hiányzó információt jelent, nem pedig egy nulla vagy bármilyen más értéket. Az Access az adatbázisok egységessége érdekében vezette be a hiányzó adatok jelzését. A valós adatbázisokban gyakran előfordul, hogy valamely adat, ha átmenetileg is, de hiányzik (például ha még nem határozták meg egy új termék árát). Éppen ezért elengedhetetlen, hogy a valódi entitásokat (például egy vállalatot) modellező adatbázisok is képesek legyenek rögzíteni a hiányzó adatokat. A mezők és vezérlőelemek null értékeit az IsNull függvénnyel keresheti meg, majd az Nz függvénnyel nullává alakíthatja őket.

Mező

Kifejezés

Leírás

SzállításiRégió

Is Null

Azon ügyfelek megrendeléseit adja eredményül, akik esetében a SzállításiRégió mező értéke null (hiányzik).

SzállításiRégió

Is Not Null

Azon ügyfelek megrendeléseit adja eredményül, akik esetében a SzállításiRégió mező értéket tartalmaz.

Fax

""

A faxkészülékkel nem rendelkező ügyfelek megrendeléseit jeleníti meg. A hiányzó készüléket null (hiányzó) érték helyett a Fax mezőben megjelenő nulla hosszúságú karakterlánc jelzi.

Vissza a lap tetejére

Rekordminták egyeztetése a Like operátorral

A bizonyos mintákat követő sorok egyeztetésekor a Like operátor nagyfokú rugalmasságot biztosít. Ennek oka, hogy a Like helyettesítő karakterekkel is használható, és segítségével mintákat határozhat meg az Accessben. A * (csillag) helyettesítő karakter például bármilyen típusú karaktersorozat helyettesítésére alkalmas, és megkönnyíti az adott betűkkel kezdődő nevek felkutatását. A Like "S*" kifejezéssel például megkeresheti az S kezdőbetűs neveket. További információért olvassa el a Like operátor című témakört.

Mező

Kifejezés

Leírás

SzállításiNév

Like "S*"

A SzállításiNév mező minden S kezdőbetűs rekordját megkeresi.

SzállításiNév

Like "*Imports"

A SzállításiNév mező minden olyan rekordját megkeresi, amely az „importálások” szóra végződik.

SzállításiNév

Like "[A-D]*"

A SzállításiNév mező minden A, B, C és D kezdőbetűs rekordját megkeresi.

SzállításiNév

Like "*ar*"

A SzállításiNév mező minden olyan rekordját megkeresi, amelyben megtalálható az „ar” betűkombináció.

SzállításiNév

Like "Bobvos Endr?"

A SzállításiNév mező minden olyan rekordját megkeresi, amelynek értékének első fele tartalmazza a „Bobvos” szót, és található benne egy ötbetűs karakterlánc, amelynek első négy betűje „Endr” és az utolsó betű ismeretlen.

SzállításiNév

Not Like "A*"

A SzállításiNév mező minden nem A kezdőbetűs rekordját megkeresi.

Vissza a lap tetejére

Sorok egyeztetése SQL-összesítésekkel

Az SQL-összesítési vagy területi összesítő függvények használata akkor javasolt, ha szelektív módon szeretné összegezni, megszámlálni vagy átlagolni az értékeket. Előfordulhat például, hogy csak egy bizonyos tartományba eső vagy az Igaz értéket eredményező értékeket szeretné megszámolni. Más esetben szükség lehet egy másik tábla adott értékének megkeresésére és megjelenítésére. A következő táblázatban ismertetett példakifejezések egytől egyig területi összesítő függvények segítségével végzik el a szükséges számításokat az adott értékhalmazokon, a kapott eredményeket pedig a lekérdezés feltételeiként hasznosítják.

Mező

Kifejezés

Leírás

Fuvardíj

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

A DStDev és a DAvg függvények segítségével megjeleníti azokat a megrendeléseket, amelyek fuvardíja meghaladta a várt összeget, valamint a fuvardíj szórásának értékét.

Mennyiség

> DAvg("[Quantity]", "[Order Details]")

A DAvg függvény segítségével megjeleníti az átlagos rendelési mennyiséget meghaladó termékeket.

Vissza a lap tetejére

Mezők egyeztetése segédlekérdezésekkel

A feltételként használni kívánt értékek kiszámolásához segédlekérdezések, más néven beágyazott lekérdezések is használhatók. A következő táblázatban ismertetett példakifejezések a segédlekérdezések eredményei alapján végzik a sorok egyeztetését.

Mező

Kifejezés

Eredmény

Egységár

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Azokat a termékeket adja eredményül, amelyek ára megegyezik az Ánizs szirup termék árával.

Egységár

>(SELECT AVG([UnitPrice]) FROM [Products])

Az átlagos termékárat meghaladó termékeket adja eredményül.

Fizetés

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

Azoknak az üzletkötőknek a fizetését adja eredményül, kiknek fizetése meghaladja az Igazgató vagy Alelnök beosztásban dolgozó alkalmazottak fizetését.

RendelésVégösszege: [Egységár] * [Mennyiség]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

Azokat a rendeléseket adja eredményül, amelyek végösszege meghaladja az átlagos rendelési értéket.

Vissza a lap tetejére

Frissítő lekérdezések

A frissítő lekérdezésekkel módosíthatók egy adatbázis egy vagy több létező mezőjének adatai. Segítségével elvégezheti a kívánt adatok cseréjét vagy teljes törlését. A következő táblázat a frissítő lekérdezésekben használható kifejezésekre hoz példákat. Az alábbi kifejezéseket a frissíteni kívánt mezőhöz tartozó lekérdezéstervező rács Módosítás sorában kell megadni.

A frissítő lekérdezések létrehozásáról a Frissítő lekérdezés létrehozása és futtatása című témakörben talál további információt.

Mező

Kifejezés

Eredmény

Cím

"Salesperson"

Beírja az Eladó szöveget.

ProjektKezdete

#8/10/17#

A dátumértéket 2017.08.10-re módosítja.

Kivezetve

Yes

Egy Igen/Nem típusú mezőben a Nem értéket Igenre módosítja.

Cikkszám

"PN" & [PartNumber]

Minden megadott cikkszám elé C betűt tesz.

ÖsszesSortétel

[UnitPrice] * [Quantity]

Kiszámítja az Egységár és a Mennyiség szorzatát.

Fuvardíj

[Freight] * 1.5

50%-kal megnöveli a fuvardíjakat.

Értékesítés

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

Ha az aktuális tábla Termékkód mezőjének értékei megegyeznek a Rendelés részletei nevű tábla Termékkód mezőjének értékeivel, a kifejezés a Mennyiség és az Egységár mezők szorzata alapján frissíti az értékesítési eredményeket.

CímiIrányítószám

Right([ShipPostalCode], 5)

A bal szélső karaktereket levágva csak az öt jobb szélső karaktert jeleníti meg.

Egységár

Nz([UnitPrice])

Az Egységár mező egy null (meghatározatlan vagy ismeretlen) értékét nullára (0) módosítja.

Vissza a lap tetejére

SQL-utasítások

Az SQL (Structured Query Language) az Access által használt lekérdezésnyelv. A lekérdezés Tervező nézetében létrehozott minden lekérdezés SQL-nyelven is kifejezhető. Ha szeretné megtekinteni egy lekérdezés SQL-utasítását, kattintson a Nézet menü SQL nézet parancsára. A következő táblázatban kifejezéseket használó SQL-utasításokra találhat példákat.

Kifejezést használó SQL-utasítás

Eredmény

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

Zoltán utónevű alkalmazottak esetében megjeleníti a Vezetéknév és az Utónév nevű mezők tartalmát.

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

Megjeleníti a Termékek tábla Termékkód és Terméknév nevű mezőinek tartalmát azon rekordok esetében, amelyekben a Kategóriaazonosító mező tartalma megegyezik a megnyitott Új termékek űrlap Kategóriaazonosító nevű mezőjének tartalmával.

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

Kiszámítja a teljes ár átlagát azon megrendelések esetében, amelyekben a TeljesÁr mező értéke nagyobb mint 1000, majd az eredményt megjeleníti a Teljes ár átlaga nevű mezőben.

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

A TermékkódSzáma nevű mezőben megjeleníti, hogy hány termék szerepel a 10-nél több terméket tartalmazó kategóriákban.

Vissza a lap tetejére

Táblakifejezések

A kifejezések a táblákban leggyakrabban egy alapértelmezett érték hozzárendelésére vagy egy érvényességi szabály létrehozására használatosak.

Alapértelmezett mezőértékek

Adatbázisok tervezésekor előfordulhat, hogy alapértelmezett értéket szeretne rendelni egy mezőhöz vagy vezérlőelemhez. Ha később létrehoz egy olyan rekordot, amelyben szerepel az adott mező, vagy létrehoz egy, a vezérlőelemet tartalmazó objektumot, az Access megjeleníti az alapértelmezett értéket. A következő táblázatban ismertetett kifejezések egy mező vagy vezérlőelem alapértelmezett értékeire hoznak példákat. Ha egy vezérlőelem egy olyan táblamezőhöz van kötve, amelyhez korábban alapértelmezett értéket adtak meg, minden esetben a vezérlőelemhez rendelt alapértelmezett érték élvez elsőbbséget.

Mező

Kifejezés

Alapértelmezett mezőérték

Mennyiség

1

1

Megye

"MT"

Zala

Megye

"New York, N.Y."

Győr, Győr-Moson-Sopron (Ne feledje idézőjelbe tenni az értéket, ha az írásjelet tartalmaz.)

Fax

""

Egy nulla hosszúságú karakterlánc, amely azt jelzi, hogy a mezőnek alapértelmezés szerint üresnek kéne lennie, azonban null értéket tartalmaz

Rendelés dátuma

Date( )

A mai dátum

Határidő

Date() + 60

A mai naptól számított 60. nap dátuma

Vissza a lap tetejére

Mezőérvényesítési szabályok

A mezőre vagy vezérlőelemre vonatkozó érvényességi szabályok kifejezéssel hozhatók létre. Az Access ezután minden esetben érvénybe lépteti a szabályokat, ha az adott mezőben vagy vezérlőelemen adatot ad meg. Érvényességi szabály létrehozásához módosítsa a mezőre vagy vezérlőelemre vonatkozó ValidationRule tulajdonságot. Emellett a ValidationText tulajdonságot is érdemes beállítani, amely az érvényességi szabály megszegése esetén megjelenített üzenetet tartalmazza. Ha nem állítja be a ValidationText tulajdonságot, az Access egy alapértelmezett hibaüzenetet jelenít meg.

A következő táblázatban található példák a ValidationRule tulajdonságra vonatkozó érvényességi szabályok kifejezéseit, valamint a ValidationText tulajdonsághoz kapcsolt szöveget ismertetik.

ValidationRule tulajdonság

ValidationText tulajdonság

<> 0

Kérjük, a nullától eltérő értéket adjon meg.

0 Or > 100

Az értéknek nullának vagy 100-nál nagyobbnak kell lennie.

Like "K???"

Az értéknek négy karakterből kell állnia, és K betűvel kell kezdődnie.

< #1/1/2017#

2017.01.01. előtti dátumot adjon meg.

>= #1/1/2017# And < #1/1/2008#

A dátumnak a 2017. évben kell lennie.

Az adatok érvényesítéséről további információt az Érvényességi szabály létrehozása mező adatainak érvényesítésére című témakörben talál.

Vissza a lap tetejére

Makrókifejezések

Előfordulhat, hogy csak egy bizonyos feltétel teljesülése esetén szeretné végrehajtani a makró egyik műveletét vagy műveletsorát. Tegyük fel például, hogy egy műveletet csak akkor szeretne futtatni, ha a Számláló nevű szövegmező értéke 10. Ebben az esetben egy kifejezéssel adhatja meg a feltételt a makró Feltétel oszlopában, a következőképpen:

[Counter]=10

A ValidationRule tulajdonsághoz hasonlóan a Feltétel oszlopkifejezés is feltételes kifejezés, azaz True vagy False értéket kell visszaadnia. A program csak akkor hajtja végre az adott műveletet, ha a feltétel igaz.

Tipp:    Ha kényszeríteni szeretné az Accesst arra, hogy átmenetileg hagyjon figyelmen kívül egy műveletet, használja a False értéket feltételként. Ezt akkor érdemes elvégezni, ha egy makróban jelentkező hibát próbál elhárítani.

A művelet végrehajtásához szükséges kifejezés

Ha

[City]="Paris"

A Település nevű mező értéke Budapest azon az űrlapon, amelyen a makrót futtatta.

DCount("[OrderID]", "Orders") > 35

A Rendelések tábla Rendelésazonosító nevű mezőjében több mint 35 bejegyzés szerepel.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

A Rendelés részletei táblában háromnál több olyan bejegyzés szerepel, amelynél a tábla Rendelésazonosító nevű mezőjének értéke megegyezik a Rendelések űrlap Rendelésazonosító nevű mezőjének értékével.

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

A makrót futtató űrlap SzállításiDátum nevű mezőjének értéke 2017.02.02. és 2017.03.02. közé esik.

Forms![Products]![UnitsInStock] < 5

A Termékek űrlap Raktáron nevű mezőjének értéke kevesebb mint 5.

IsNull([FirstName])

A makrót futtató űrlap Vezetéknév nevű mezőjének értéke null (nem tartalmaz értéket). A kifejezés a következőképpen is használható: [Vezetéknév] Is Null.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

A makrót futtató űrlap OrszágRégió nevű mezőjének értéke Magyarország, és az ÖsszEladás űrlap ÖsszRend mezőjének értéke nagyobb mint 100.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

A makrót futtató űrlap OrszágRégió nevű mezőjének értéke Franciaország, Olaszország vagy Spanyolország, az irányítószám pedig nem 5 karakter hosszú.

MsgBox("Confirm changes?",1)=1

Az OK gombra kattint az MsgBox függvény által megjelenített párbeszédpanelen. Ha a párbeszédpanel Mégse gombjára kattint, az Access figyelmen kívül hagyja a műveletet.

Vissza a lap tetejére

Lásd még

A Kifejezésszerkesztő használata

A kifejezések – Bevezetés

Kifejezés készítése

Útmutató a kifejezések szintaxisához

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.

×