ms access kifejezések-2009

4

Click here to load reader

Upload: kovinkovacs

Post on 28-Jun-2015

280 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MS Access kifejezések-2009

KIFEJEZÉSEK A MS ACCESS ADATBÁZIS-KEZELŐBEN A kifejezés fogalma

Táblák és lekérdezések szűrőfeltételeit kifejezések formájában kell megadnunk. Az adatbázis-kezelő elvégzi a kifejezésben kijelölt műveleteket, és egy értéket ad eredményül.

A kifejezések az alábbi elemekből állhatnak: • konkrét értékek (állandók) • mezőnevek (hivatkozások egy tábla valamely mezőjére) • műveleti jelek • függvények Nézzünk egy példát!

(A bemutatott kifejezés egy táblában tárolt Nettó ár és ÁFA mezők alapján a bruttó érték kiszámítási szabályát adja meg.)

Állandók • Számok

Számértékeket a szokásos formában adunk meg, tizedes számok elválasztó karaktereként a vesszőt (,) használjuk.

• Szöveges állandók A kifejezésekben a szöveges állandókat idézőjelek közé kell tenni. Pl. ”Kiss Péter”

• Dátum típusú állandók A dátum típusú állandókat # jelek közé kell tenni. Időpontok megadásakor az óra, perc és másodperc adatokat kettősponttal választjuk el egymástól. Pl. #2001.04.02.# #05:30#

• Logikai értékek többféleképpen jelölhetők: Igaz Igen True Yes -1 Hamis Nem False No 0

• A Null érték A Null érték bármely típus esetén használható, és az érték hiányát jelenti. A null állapot lekérdezése: is Null azok a mezők, amelyek tartalma Null érték is Not Null azok a mezők, amelyek nem Null, hanem bármi más értéket tartalmaznak

Mezőnevek A kifejezésekben a táblák mezőire úgy hivatkozhatunk, hogy a mező nevét szögletes zárójelek közé

tesszük. Példa [Mennyiség]*[Egységár]

Ha az adott helyzetben nem egyértelmű, hogy a mezőnév melyik táblának a mezejére vonatkozik, mert pl. a lekérdezésben két táblában is szerepel ugyanaz a név, akkor a mezőnév előtt, attól ponttal elválasztva a tábla nevét is meg kell adni! Példa

[Szállítás].[Mennyiség]*[Áruk].[Egységár]

Műveleti jelek Matematikai műveletek

+ összeadás – kivonás

* szorzás / osztás

Példa 500*1,25-100

[Nettó ár]*(1+[ÁFA])

műveleti jelek

mezőnévállandómezőnév

Page 2: MS Access kifejezések-2009

Összehasonlító műveletek < kisebb <= kisebb vagy egyenlő > nagyobb

>= nagyobb vagy egyenlő = egyenlő <> nem egyenlő

Értéktartomány kijeölése Between <alsó határ> And <felső határ> Azt adja meg, hogy az éppen vizsgált érték az alsó és a felső határ értéke között van-e. A határértékeket még az intervallumba tartozónak tekinti!

Példák >=100 Megadja, hogy a vizsgált szám nagyobb-e vagy egyenlő, mint 100.

<#2001.01.01# Megadja, hogy a kérdéses időpont 2001. január 1. előtti-e.

=”Fekete” Megadja, hogy a vizsgált szöveg „Fekete”-e. Az egyenlőségjel elhagyható.

Between #1998.01.01.# And #1999.12.31.#

Megadja, hogy a kérdéses időpont 1998. január 1. és 1999. december 31. között van-e, a szélső értékeket is beleértve.

Between 11 And 99 Igaz értéket ad, ha az érték 11 és 99 között van.

Logikai műveletek And És kapcsolat: Akkor ad Igaz értéket, ha a műveletben részt vevő részfeltételek mindegyike

külön-külön is Igaz, egyébként Hamis értéket ad. Or Vagy kapcsolat: Csak akkor ad Hamis értéket, ha a művelet két oldalán álló feltételek

mindegyike Hamis, egyébként Igaz értéket ad. Not Tagadás: Igaz értéket ad, ha a feltétel nem teljesül, egyébként Hamis értéket ad.

Példák >10 And <100 Megadja, hogy a szám 10 és 100 között van-e, a szélsőértékeket nem beleértve. ”Sárga” Or ”Piros” Megadja, hogy az adat a „Sárga” vagy a „Piros” értékek valamelyikével egyenlő-e. Not ”Fekete” Akkor ad Igaz értéket, ha a vizsgált érték nem „Fekete”.

A Like művelet Szöveges adatot hasonlít össze egy megadott mintával. Igaz értéket ad, ha a vizsgált szöveg illeszkedik az adott mintára, egyébként Hamis értéket ad. A mintaszöveg tartalmazhat helyettesítő karaktereket is, így a mintaszövegre több különböző szöveg is illeszkedhet. Az alkalmazható helyettesítő karakterek a következők: * Tetszőleges számú karaktert helyettesít. ? Pontosan egy karaktert helyettesít. # Pontosan egy számjegyet helyettesít. […] A szögletes zárójelben felsorolt karakter közül egyet helyettesít. Felsorolhatók megadhatók

karaktertartományok is a következő példával szemléltetett módon: [a-k] „a” és „k” közötti betűk közül egyetlen betűt helyettesít.

Példák Like ”P*” Igaz értéket ad, ha a szöveg „P” betűvel kezdődik. Like ”##*” Akkor ad Igaz értéket, ha a szöveg két darab számjeggyel kezdődik. Like ”[ABC]*” Az „A”, „B”, „C” betűk valamelyikével kezdődő szövegek esetén ad Igaz értéket. Like ”[A-K]*” Akkor ad Igaz értéket, ha a szöveg az „A” és „K” betűk közötti betűvel kezdődik. Like”[!K]” Akkor ad Igaz értéket, ha a szöveg nem „K” betűvel kezdődik.

A Like műveletben a paraméter tetszőleges összetett szöveges kifejezés is lehet! (Szöveges kifejezés az, ami szöveges típusú adatot, tehát karaktersorozatot ad eredményül!)

Így pl. a helyettesítő karakter hozzáfűzéssel is megadható, illetve – mint az alábbi példa mutatja – mezők :is belefoglalhatók a kifejezésbe:

Like ”*” & [Vezetéknév]&” ” &[Keresztnév] ”*”

2

Page 3: MS Access kifejezések-2009

Az In művelet Az In művelet halmozódó Or művelet helyettesítésére szolgál. Az In() művelet akkor ad igaz értéket, ha a vizsgált érték a zárójelek között felsorolt értékek valamelyikével egyenlő.

Példa In (”USA”;”Kanada”;”Ausztrália”) Igaz értéket ad, ha a vizsgált szöveg a felsoroltak valamelyikével egyenlő.

Az In műveletben nemcsak konstansok felsorolásával adhatjuk meg az értékhalmazt, hanem táblák vagy segédlekérdezések mezőnevével jelölt, vagy SELECT utasítással előállított sorozatot is megadhatunk. (Allekérdezésnek nevezzük azt az SQL lekérdezést, amely feltételben szerepel, a feltételhez állít elő adatot.)

Két példa Not In([Tantermek].[Teremszám]) Igaz értéket ad, ha a vizsgált érték szerepel a Tantermek tábla Teremszám oszlopában

In(SELECT [Tantermek].[Teremszám] FROM Tantermek WHERE Évfolyam=9) Igaz értéket ad, ha a vizsgált érték szerepel a Tantermek tábla azon rekordjainak Teremszám oszlopában, amelyekre igaz, hogy az Évfolyam mező értéke 9.

Függvények A függvények egy vagy több adott típusú paraméter alapján (vagy néha paraméter nélkül) adnak meg egy

értéket. Az alábbiakban csak néhány jellegzetes függvényt írunk le. A többit a súgóból, illetve a kifejezés-szerkesztő

segítségével tekinthetjük át. (A lekérdezés-tervező rács „Feltétel” sorában állva kérjünk helyi menüt és ott válasszuk a „Szerkesztés” parancsot!)

Dátumkezelő függvények

Date() Paraméter nélküli függvény. Az aktuális dátumot adja eredményül (év,hó,nap).

Now() Paraméter nélküli függvény. Az aktuális dátumot és időt adja eredményül.

Year(dátum) Paramétere egy dátum típusú érték. A függvény az adott dátum évét adja meg.

Month(dátum) A függvény megadja az paraméterében adott dátum hónap részét.

Day(dátum) Megadja a paraméterében adott dátum nap részét.

DatePart(intervallum;dátum;hétkezdőnap;elsőhét) A második paraméterként szereplő dátumnak az első paraméterben megadott részét adja vissza. Az utolsó két paraméter elhagyható ha nincs rá szükség. intervallum: szöveg, amely megjelöli a visszaadandó dátum/idő részt yyyy év q negyedév m hónap y az év hányadik napja d nap w a hét melyik napja ww az év melyik hete h óra n perc s másodperc hétkezdőnap számkonstans, amely megadja, hogy melyiket tekintjük a hét első

napjának. 1 vasárnap (alapértelmezett) 2 hétfő stb.

3

Page 4: MS Access kifejezések-2009

elsőhét számkonstan, amely megadja, hogy melyiket tekintsük az év első hetének. Pl.

1 az a hét, amelyben jan. 1. szerepel 3 az első teljesen januári hét.

Példa: DatePart(„q”;Date()) Az aktuális negyedévet adja meg

DateDiff(intervallum;dátum1;dátum2;hétkezdőnap;elsőhét) A megadott két dátum időkülönbségét adja vissza. Az utolsó két paraméter elhagyható ha nincs rá szükség. intervallum: szöveg, amely megjelöli, hogy milyen időegységben akarjuk kiszámíttatni az

időkülönbséget (lásd DatePart) A többi paraméter jelentése egyezik a DatePart() függvény paramétreivel.

Szövegkezelő függvények és műveletek

Szövegek összefűzése: szöveg1 & szöveg2 [Vezetéknév] & „ „ & [Keresztnév] - A vezetéknév, szóköz és keresztnév összefűzése

Len(szöveg) Megadja a paraméterében adott szöveg karaktereinek számát.

Left(szöveg;hossz) Visszaadja azt a szöveget, amely a paraméterében megadott szöveg első karaktereit tartalmazza, mégpedig annyit, amennyi a második paraméterben megadott szám.

Right(szöveg;hossz) Visszaadja azt a szöveget, amely a paraméterében megadott szöveg utolsó karaktereit tartalmazza, mégpedig annyit, amennyi a második paraméterben megadott szám.

Mid(szöveg;kezdet;hossz) Visszaadja a szöveg hossz darabszámú karakterét a kezdet paraméterben megadott sorszámú karaktertől kezdődően.

InStr(sorszám,szöveg1,szöveg2) Megadja, hogy szöveg1-ben a szöveg2 hányadik karakternél kezdődően fordul elő először. 0 érték jelzi, ha szöveg2 nem található meg szöveg1-ben. A sorszám paraméterrel adhatjuk meg, hogy a szöveg1 hányadik karakterétől kezdje keresni szöveg2 első előfordulását. A sorszám paraméter elhagyható, ekkor az 1. karaktertől kezdi!

Megjegyzés A függvények természetesen egymásba ágyazhatók, tehát előállítható egy függvény egyik argumentuma egy másik függvénnyel. Pl. Left([iskola]; Len([iskola])-2) Matematikai függvények

Kerek(szám;pontosság) A második paraméterben megadott számú tizedesre kerekítve adja vissza a számot. Ha a pontosságot nem adjuk meg, akkor egészre kerekít!

Int(szám) A szám egész részét adja vissza. (Csonkít és nem kerekít!)

Sqr(szám) A szám egész részét adja vissza

4