A Microsoft Accessben igen sokféle műveletet végrehajthat kifejezésekkel, például matematikai számításokat végezhet, összevonhat vagy kiemelhet szövegrészeket, vagy érvényesíthet adatokat. Ez a cikk általános tájékoztatást nyújt a kifejezésekről – mikor kell használni őket, milyen összetevőkből állnak, illetve miben különböznek a Microsoft Excel-képletektől.
A témakör tartalma
A kifejezések áttekintése
Ha szeretné, hogy az Access szót fogadjon Önnek, az ő nyelvét kell beszélnie. Tegyük fel például, hogy meg szeretné kérni az Accesst, hogy nézzen rá a Vevők tábla SzületésiDátum mezőjére, és állapítsa meg a vevő születési évét. Ehhez a kifejezést megírhatja a következőképpen:
DatePart("yyyy",[Customers]![BirthDate])
Ez a kifejezés a DatePart függvényből és a következő két argumentumból áll: "yyyy" és [Customers]![BirthDate].
Vizsgáljuk meg közelebbről a kifejezést.
1 A DatePart az a függvény, amely megvizsgálja a dátumot, és egy részhalmazt ad eredményül. Ebben az esetben az első két argumentum használatos.
2 Az Access az intervallum argumentum alapján megállapítja, hogy a dátum mely összetevőjét adja vissza – ebben az esetben az "yyyy" argumentum elárulja, hogy a teljes dátumból csak az évre van szüksége.
3 Az Access a Dátum argumentum alapján megkeresi a dátum értékét – ebben az esetben a Customers]![BirthDate] elárulja, hogy a dátum a Vevők tábla SzületésiDátum mezőjében található.
A kifejezések használata
A kifejezéseket a következő módokon lehet használni:
-
Olyan értékek kiszámítására, amelyek nem szerepelnek közvetlenül az adatokban. Az értékszámítást végezheti táblák vagy lekérdezések mezőiben, illetve űrlapokon vagy jelentésekben lévő vezérlőelemekben.
-
Alapértelmezett érték beállítására egy űrlap vagy jelentés vezérlőjében vagy egy tábla mezőjében. Ezek az alapértelmezett értékek mindig megjelennek, valahányszor megnyitja a táblát, az űrlapot vagy a jelentést.
-
Érvényességi szabály létrehozására, amellyel korlátozható, hogy milyen értékeket írhatnak be a felhasználók egy mezőbe vagy vezérlőbe.
-
Lekérdezési feltételek megadására a kívánt alkészlet eredményeinek korlátozásához.
Értékek kiszámítása
Az Accessben a kifejezések gyakran használatosak olyan értékek kiszámítására, amelyek közvetlenül nem szerepelnek az adatokban. Az ilyen számítás eredményeként létrejövő tábla vagy lekérdezés oszlopait számított mezőknek nevezzük. Létrehozhat olyan számított mezőt, amely egyesít két vagy több táblamezőt. Sok tábla például külön mezőkben tárolja a vezeték- és utóneveket. Ha egyesíteni szeretné ezeket a vezeték- és utóneveket, majd egyetlen mezőben szeretné megjeleníteni őket, létrehozhat egy számított mezőt a táblában vagy lekérdezésben:
[FirstName] & " " & [LastName].
Ebben az esetben az és-jelek (&) egyesítik a FirstName mező értékét, egy szóköz karaktert (egy idézőjelek között szereplő szóköz) és a LastName mezőben szereplő értéket.
Alapértelmezett érték beállítása
A kifejezésekkel táblamezők, illetve vezérlők alapértelmezett értéke is megadható az Accessben. Ha például az aktuális dátumot szeretné alapértelmezett értékként beállítani egy dátummezőben, akkor ehhez a következőt kell megadnia a mező Alapértelmezett érték tulajdonságmezőjében:
Date()
Érvényességi szabály létrehozása
A kifejezésekkel akár érvényességi szabályokat is be lehet állítani. Például egy vezérlő vagy táblamező érvényességi szabályával megkövetelheti, hogy a megadott dátum az aktuális dátummal azonos vagy annál későbbi legyen. Ennek végrehajtásához írja az Érvényességi szabály tulajdonságmezőbe a következőt:
>= Date()
Lekérdezési feltételek megadása
Végül a kifejezésekkel a lekérdezések feltételei is megadhatók. Tegyük fel például, hogy az egy adott időintervallumban leszállított rendelések eladási sorait szeretné megtekinteni. Ehhez megadhatja a dátumtartományt meghatározó feltételeket, és az Access csak azokat a sorokat adja vissza, amelyek megfelelnek a feltételeknek. Például meg lehetne adni egy ilyen kifejezést:
Between #1/1/2017# And #12/31/2017#
Ha hozzáadja a lekérdezéshez a feltételeket, és utána futtatja a lekérdezést, akkor az csak azokat az értékeket adja vissza, amelyek a megadott dátumok közé esnek.
Példakifejezések
A következő táblázatban néhány Access-kifejezés és a jellemző felhasználási módjuk látható:
Kifejezés |
Rendeltetés |
---|---|
=[RequiredDate]-[ShippedDate] |
Kiszámítja a különbséget két szövegmező dátumértéke között egy jelentésben (a KértTeljesítésiDátum és a SzállításiDátum a szövegmezők neve). |
Date() |
Az aktuális dátumra állítja a Dátum/Idő típusú táblamező alapértelmezett értékét. |
Between #1/1/2017# And #12/31/2017# |
Feltételeket határoz meg egy Dátum/Idő típusú mezőre egy lekérdezésben. |
=[Orders Subform].Form!OrderSubtotal |
A Rendelések űrlaphoz tartozó Rendelések nevű segédűrlapon található RendelésekRészösszege vezérlőelem értékét adja vissza. |
>0 |
Érvényességi szabályt állít be egy tábla egyik numerikus mezőjére – a felhasználóknak nullánál nagyobb értéket kell megadniuk. |
Egyes kifejezések az egyenlőségjel (=) operátorral kezdődnek, míg mások nem. Ha a kifejezést egy űrlapon vagy jelentésen lévő vezérlő értékének kiszámítására használja, akkor a kifejezésnek az = operátorral kell kezdődnie. Más esetekben, például amikor lekérdezésben vagy egy mező, illetve vezérlő DefaultValue vagy ValidationRule tulajdonságában ad meg kifejezést, nincs szükség az = operátorra, hacsak nem egy tábla Szöveg típusú mezőjébe írja a kifejezést. Egyes esetekben, például amikor lekérdezésben ad meg egy kifejezést, az Access automatikusan eltávolítja az = operátort.
A kifejezések összetevői
A kifejezések olyan lehetséges összetevőkből állnak, amelyek önmagukban vagy más elemekkel együtt valamilyen eredmény kiszámítására használhatók. Ezek az összetevők az alábbiak:
-
Azonosítók Űrlapok vagy jelentések táblamezőit vagy vezérlőelemeit, illetve ezek tulajdonságait jelölik.
-
Operátorok Például + (pluszjel) vagy - (mínuszjel).
-
Függvények Például SUM vagy AVG.
-
Állandók Olyan értékek, amelyek nem változnak; például szöveget vagy nem kifejezéssel kiszámolt számokat tartalmazó karakterláncok.
-
Értékek Műveletekben használt karakterláncok (például „Adjon meg egy 1 és 10 közötti számot”) vagy számok (például 1254).
A következő szakaszok részletesebben ismertetik az összetevőket.
Azonosítók
Az azonosító a mezők, tulajdonságok és vezérlőelemek nevét jelenti. Az azonosítók kifejezésekben való használatával az adott mező, tulajdonság vagy vezérlőelem értékére lehet hivatkozni. Vegyük például a következő kifejezést: =[RequiredDate]-[ShippedDate]. Ez a kifejezés kivonja a ShippedDate mező vagy vezérlőelem értékét a RequiredDate mező vagy vezérlőelem értékéből. A kifejezésben mind a RequiredDate, mind pedig a ShippedDate azonosítóként szolgál.
Operátorok
Az Access számos operátort támogat, beleértve az általános aritmetikai operátorokat, mint például +, -, * (szorzás) és / (osztás). Az értékek összehasonlítására szolgál a < (kisebb mint) és a > (nagyobb mint) operátor, míg a szöveges operátorok – & és + – szövegek összefűzésére használhatók. A logikai operátorokkal – például Not és And – igaz vagy hamis értéket visszaadó kifejezések határozhatók meg, és ezenkívül további, az Accessre jellemző operátorok is használhatók.
Függvények
A függvények beépített eljárások, amelyek a kifejezésekben is használhatók. A függvényekkel sokféle műveletet lehet elvégezni, például értékeket lehet számítani, szöveget és dátumokat átalakítani, valamint adatokat összesíteni. Egy gyakran használt függvény például a DATE, amely az aktuális dátumot adja vissza. A DATE függvény sokféleképpen használható, például egy olyan kifejezésben, amely beállítja egy tábla egy mezőjének alapértelmezett értékét. Ebben a példában minden alkalommal, amikor valaki felvesz egy új rekordot, a program alapértelmezés szerint az aktuális dátumra állítja a mező értékét.
Bizonyos függvények argumentumokat is igényelnek. Az argumentumok olyan értékek, amelyek a függvény bemeneteként szolgálnak. Ha egy függvényhez egynél több argumentum szükséges, akkor az argumentumokat pontosvesszővel kell elválasztani egymástól. Vegyük például a DATE függvényt a következő példakifejezésben:
=Format(Date(),"mmmm d, yyyy")
Ez a példa két argumentumot használ:
-
Az első argumentum a Date() függvény, amely az aktuális dátumot adja vissza. Ha nincsenek argumentumok, akkor is fel kell venni a függvényt zárójelek között.
-
A második, "mmmm d, yyyy" argumentum, amely pontosvesszővel van elválasztva az első argumentumtól, egy szöveges karakterlánccal adja meg a FORMAT függvénynek, hogy hogyan kell formázni az eredményül kapott dátumértéket. Figyelje meg, hogy a szöveges karakterlánc idézőjelek közé van foglalva. A feltételeknél kötelező az idézőjel használata.
Ez a kifejezés arra is jó példa, hogy gyakran beágyazható az egyik függvény által visszaadott érték egy másik függvénybe argumentumként. Ebben az esetben a Date() argumentumként működik.
Állandók
Az állandók olyan elemek, amelyek értéke nem változik az Access futása közben. A True, a False és a Null állandó gyakran használatos a kifejezésekben.
Értékek
A kifejezésekben konstansértékeket is használhat, például az 1254 számot vagy az "Adjon meg egy 1 és 10 közötti számot" karakterláncot. Számértékeket is használhat, amelyek számjegyek sorozatából állhatnak, szükség esetén az előjellel és a tizedesponttal együtt.
Ha szöveges karakterláncértékeket használ, tegye azokat idézőjelbe, hogy az Access helyesen értelmezze őket. Bizonyos körülmények között az Access saját maga ellátja az állandókat idézőjelekkel. Ha például egy érvényességi szabály vagy egy lekérdezési feltétel kifejezésében szöveget ad meg, akkor az Access automatikusan idézőjelbe teszi a szöveges karakterláncokat.
Dátum-/időértékek használatához tegye az értékeket kettős keresztek (#) közé. Például a #3-7-17#, #7-Mar-17# és a #Mar-7-2017# mind érvényes dátum-/időértékek. Az Access a # karakterek közé tett érvényes dátum-/időértékeket automatikusan Dátum/Idő adattípusúként kezeli.
Az Access-kifejezések és az Excel-képletek összehasonlítása
Az Access kifejezései hasonlítanak az Excel képleteire, mivel mindkettő hasonló elemeket használ valamilyen eredmény kiszámítására. Az Excel-képletek és az Access-kifejezések egyaránt tartalmazhatják a következőket:
-
Azonosítók Az Excelben az azonosítók egy munkafüzet egyes celláit, illetve cellatartományait jelölő nevek, például: A1, B3:C6 vagy Munka2!C32. Az Accessben az azonosítók táblamezőket jelölő nevek (például: [Contacts]![First Name]), jelentések vagy űrlapok vezérlőit jelölő nevek (például: Forms![Task List]![Description]), illetve ezen mezők vagy vezérlők tulajdonságait jelölő nevek (például: Forms![Task List]![Description].ColumnWidth).
-
Operátorok Az operátorok mind az Excelben, mind az Accessben értékek összehasonlítására, illetve egyszerű számítások végrehajtására szolgálnak. Operátor például a + (pluszjel) és a - (mínuszjel).
-
Függvények A függvények és argumentumok az Accessben és az Excelben is olyan feladatok végrehajtására használhatók, amelyeket nem lehet megoldani csak az operátorok használatával – például egy mezőben lévő értékek átlagának kiszámítására, illetve egy számítás eredményének pénznemformátumra való konvertálására. A függvényekre példa a SUM (SZUM) és az STDEV (SZÓRÁS). Az argumentumok olyan értékek, amelyekkel a függvényeknek információk adhatók át. Az Accessben és az Excelben is számos függvény áll rendelkezésre, de a hasonló függvények neve nem feltétlenül ugyanaz a két programban. Például az Excel ÁTLAG függvényének az Accessben az AVG függvény felel meg.
-
Állandók Az állandók az Accessben és az Excelben egyaránt olyan értékek, amelyek nem változnak – például olyan számok, amelyeket nem kifejezéssel számítanak ki.
-
Értékek Az értékek az Accessben és az Excelben hasonló módon használhatók.
Az Access kifejezéseiben hasonló operátorok és állandók használhatók, mint az Excel-képletekben, az azonosítók és függvények azonban különbözőek. Míg az Excel-képletek általában munkalapcellákban fordulnak elő, az Access-kifejezések az Access alkalmazás számos különböző területén, különféle célokra használhatók, köztük az alábbiakra:
-
Számított vezérlők létrehozására űrlapokon és jelentéseken
-
Számított mezők létrehozására táblákban és lekérdezésekben
-
Feltételként lekérdezésekben
-
A mezőkbe vagy egy űrlap vezérlőjébe írt adatok érvényességének ellenőrzésére
-
A jelentések adatainak csoportosítására
Access-kifejezésekben és Excel-képletekben numerikus értékeket, illetve Dátum/Idő típusú értékeket számíthat ki matematikai operátorok felhasználásával. Például az egy vevőnek szánt kedvezményes ár kiszámítására használhatja a =C2*(1-D2) Excel-képletet, illetve az = [Unit Price]*(1-[Discount]) Access-kifejezést.
Az Access-kifejezések és az Excel-képletek karakterláncok összefűzésére, szétválasztására, illetve más műveletekre is felhasználhatók a karakterlánc-operátorok segítségével. Ha például egy karakterláncban szeretné egyesíteni a vezeték- és utónevet, használhatja az =D3 & " " & D4 Excel-képletet, illetve a = [First Name] & " " & [Last Name] Access-kifejezést.