A lekérdezésfeltételekkel pontosan körülhatárolhatja, hogy milyen elemeket keres az Access-adatbázisban. Egy elem csak akkor jelenik meg a lekérdezés eredményében, ha minden megadott feltételnek megfelel.
Ha feltételt szeretne megadni egy Access-lekérdezésben, akkor nyissa meg a lekérdezést Tervező nézetben, és határozza meg, hogy milyen mezőkre (oszlopokra) szeretne feltételeket megadni. Ha a mező nem szerepel a tervezőrácson, akkor a mezőre duplán kattintva vegye fel rá, így a Feltétel sorában megadhatja a rá vonatkozó feltételeket. Ha nem tudja biztosan, hogyan teheti ezt meg, olvassa el a Lekérdezések – bevezetés című témakört.
A lekérdezési feltétel egy olyan kifejezés, amelyet az Access összehasonlít a lekérdezési mezőértékekkel, és meghatározza, hogy felvegye-e az egyes értékeket tartalmazó rekordot. Az = "Szeged" például egy kifejezés, amelyet az Access összehasonlít egy lekérdezésben szereplő szövegmező értékeivel. Ha az adott rekord mezőjében lévő érték egyenlő a "Szeged" karakterlánccal, akkor az Access felveszi a rekordot a lekérdezés eredményébe.
Az alábbiakban példákat láthat néhány gyakran használt feltételre, amelyeket kiindulási alapként használhat saját feltételeinek meghatározásához. A példák adattípusok szerint vannak csoportosítva.
Tartalom
- Bevezetés a lekérdezésfeltételek használatába
- Szöveg, Feljegyzés és Hiperhivatkozás típusú mezők feltételei
- Szám, Pénzegység és Számláló típusú mezők feltételei
- A Dátum/idő típusú mezők feltételei
- Az Igen/nem típusú mezők feltételei
- Egyéb mezők feltételei
Bevezetés a lekérdezésfeltételek használatába
A feltételek hasonlítanak a képletekre – olyan karakterláncok, amelyek mezőhivatkozásokból, műveleti jelekből (operátorokból) és konstansokból állnak. A lekérdezési feltételeket kifejezéseknek is nevezik az Accessben.
Az alábbi táblázatok példákat mutatnak feltételekre, és ismertetik a működésüket.
| Feltételek | Leírás: |
|---|---|
| >25 és <50 | Ez a feltétel a Szám típusú mezőkre (például az Ár vagy a Raktárkészlet mezőre) alkalmazható. Azoknak a rekordoknak az esetében teljesül, amelyekben az Ár vagy a Raktárkészlet mező értéke 25-nél nagyobb, de 50-nél kisebb. |
| DateDiff ("yyyy", [BirthDate], Date()) > 30 | Ez a feltétel egy Dátum/Idő típusú (például SzületésiDátum) mezőre alkalmazható. Azok a rekordok kerülnek bele a lekérdezés eredményébe, amelyekben a születési dátum és a mai dátum közötti különbség nagyobb, mint 30 (években számolva). |
| Is Null | Ez a feltétel bármilyen típusú mezőre alkalmazható, és azokat a mezőket jeleníti meg, amelyekben a mező értéke null. |
Mint látható, a feltételek nagyon különbözőek lehetnek a vizsgált mező adattípusától és a felhasználó egyéni szükségleteitől függően. Egyes feltételek egyszerűek, alapvető operátorokat és konstansokat tartalmaznak. Más feltételek összetettek, függvényekből, speciális operátorokból és mezőhivatkozásokból állnak.
Ez a témakör adattípus szerint rendezve felsorol számos általánosan használt feltételt. Ha az itt látható példák nem felelnek meg a konkrét igényeinek, akkor lehet, hogy saját feltételt kell írnia. Ehhez először meg kell ismerkednie a függvények, az operátorok és a speciális karakterek teljes listájával, valamint a mezőkre és literálokra hivatkozó kifejezések szintaxisával.
A témakörben látni fogja, hol és hogyan veheti fel a feltételeket. Ehhez megnyitja a lekérdezést Tervező nézetben. Ezután azonosítja a mezőket, amelyekre vonatkozóan feltételt szeretne megadni. Ha a mező nem szerepel még a tervezőrácsban, felveszi úgy, hogy a lekérdezéstervező ablakról áthúzza a mezőrácsra, vagy duplán kattint a mezőre (ez esetben a mező automatikusan bekerül a mezőrács következő üres oszlopába). Végül beírja a feltételt a Feltétel sorba.
A Feltétel sorban a különböző mezőkre vonatkozó feltételek ÉS operátorral kapcsolódnak össze. Más szavakkal a Város és a SzületésiDátum mezőre vonatkozó feltételt a program a következőképpen értelmezi:
City = "Chicago" ANDBirthDate<DateAdd("yyyy", -40, Date())
1. A Város és a SzületésiDátum mező tartalmazza a feltételeket.
2. Csak azok a rekordok fognak megfelelni ennek a feltételnek, amelyeknél a Város mező értéke Békéscsaba.
3. Csak a legalább 40 évesek nyilvántartása felel meg ennek a feltételnek.
4. Az eredmény csak azokat a rekordokat tartalmazza, amelyek megfelelnek mindkét feltételnek.
Mi a teendő, ha a fenti feltételek közül csak az egyiknek kell teljesülnie? Azaz: hogyan adhat meg alternatív feltételt?
Ha alternatív feltétele van, vagy két független feltétele, amelyek közül elég az egyiknek teljesülnie, a tervezőrácsban a Feltétel sor mellett használja a vagy sort is.
1. A Város feltétel a Feltétel sorban van megadva.
2. A BirthDate feltétel a vagy sorban van megadva.
A Feltétel és a vagy sorokban megadott feltételek a VAGY operátorral kapcsolódnak össze az alábbiak szerint:
Város = "Chicago" ORBirthDate<DateAdd("yyyy", -40, Date())
További alternatív feltételeket a vagy alatti sorokban adhat meg.
Mielőtt továbblépne a példákkal, jegyezze meg a következőket:
- Ha a feltétel ideiglenes vagy gyakran változik, célszerűbb lehet szűrni a lekérdezés eredményét, mint a feltételt módosítgatni. A szűrő egy ideiglenes feltétel, amellyel anélkül módosíthatja a lekérdezés eredményét, hogy áttervezné a lekérdezést. A szűrőkről a Szűrő alkalmazása egy Access-adatbázis kijelölt rekordjainak megtekintéséhez című cikk tartalmaz további információt.
- Ha a feltételekben megadott értékek gyakran változnak, míg a vizsgált mezők ugyanazok maradnak, létrehozhat egy paraméteres lekérdezést. A paraméteres lekérdezés a felhasználótól kéri a mezőértékeket, majd ezekkel az értékekkel hozza létre a lekérdezés feltételét. A paraméteres lekérdezésekről további információt a Paraméterek használata lekérdezésekben és jelentésekben című cikkben találhat.
Szöveg, Feljegyzés és Hiperhivatkozás típusú mezők feltételei
Az alábbi példák egy névjegyadatokat tároló táblán alapuló lekérdezés OrszágRégió mezőjére vonatkoznak. A feltételeket a tervezőrács Feltétel sora tartalmazza.
A Hivatkozás mezőkre meghatározott feltételek alapértelmezésként a mezőérték megjelenített szövegére vonatkoznak. Ha az érték URL részére szeretne feltételt megadni, használja a HyperlinkPart kifejezést. A kifejezés szintaxisa a következő: HyperlinkPart([Table1].[ Field1],1) = "http://www.microsoft.com/", ahol a Table1 a hivatkozásmezőt tartalmazó tábla neve, a Mező1 a hivatkozásmező, a http://www.microsoft.com pedig az egyeztetni kívánt URL-cím.
| Kívánt rekordok | Használandó feltétel | Lekérdezés eredménye |
|---|---|---|
| Pontosan megegyező érték, mint például Kína | "Kína" | Azokat a rekordokat adja vissza, amelyekben az OrszágRégió mező értéke Kína |
| Nem megegyező érték, például nem Mexikó | Not "Mexikó" | Azokat a rekordokat adja vissza, amelyeknek az OrszágRégió mezőjében nem Mexikó szerepel |
| Egy megadott karakterlánccal (például U) kezdődik | Like U* | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve „U”-val kezdődik, például Ukrajna, Uganda stb. Megjegyzés: Kifejezésben használva a csillag (*) bármilyen karaktersorozatot jelöl – helyettesítő karakternek is nevezik. A helyettesítő karakterek listáját megtalálja Az Access által használt helyettesítő karakterek című cikkben |
| Nem egy megadott karakterlánccal (például U) kezdődik | Not Like U* | Minden olyan rekordot visszaad, amelyben az ország/régió neve nem „U”-val kezdődik |
| Tartalmazza a megadott szöveget, például Korea | Like "*Korea*" | Az összes olyan rekordot visszaadja, amelynek ország/régió mezője tartalmazza a „Korea” karakterláncot |
| Nem tartalmazza a megadott szöveget, például Korea | Not Like "*Korea*" | Az összes olyan rekordot visszaadja, amelynek ország/régió mezője nem tartalmazza a „Korea” karakterláncot |
| Egy megadott karakterlánccal (például „ína”) végződik | Like "*ína" | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve az „ína” karakterláncra végződik (például Kína és Argentína) |
| Nem egy megadott karakterlánccal (például „ína”) végződik | Not Like "*ína" | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve nem az „ína” karakterláncra végződik (például Kína és Argentína nem felel meg a feltételnek) |
| Null értéket tartalmaz (vagy nem tartalmaz értéket) | Is Null | Azokat a rekordokat adja vissza, amelyek nem tartalmaznak értéket a vizsgált mezőben |
| Nem null értéket tartalmaz | Is Not Null | Azokat a rekordokat adja vissza, amelyekben érvényes érték van a mezőben |
| Nulla hosszúságú karakterláncot tartalmaz | "" (két dupla idézőjel) | Azokat a rekordokat adja vissza, amelyekben a mező üres (de nem null) értéket tartalmaz. Egy másik részlegnek történő eladást tároló rekordban például az OrszágRégió mező üresen hagyható |
| Nem nulla hosszúságú karakterláncot tartalmaz | Not "" | Azokat a rekordokat adja vissza, amelyekben az OrszágRégió mező nem üres értéket tartalmaz |
| Null értéket vagy nulla hosszúságú karakterláncot tartalmaz | "" Or Is Null | Azokat a rekordokat adja vissza, amelyeknek a megfelelő mezőjében vagy nincs érték, vagy a mező üres értékre van állítva |
| Nem üres | Is Not Null And Not "" | Azokat a rekordokat adja vissza, amelyekben az OrszágRégió mező nem üres, nem null értéket tartalmaz |
| Betűrend szerint egy érték (például Mexikó) után következik | >= "Mexikó" | Azokat a rekordokat adja vissza, amelyeknek az ország/régió mezőjében Mexikó vagy egy betűrend szerint Mexikó után következő ország szerepel (egészen az ábécé végéig) |
| Egy bizonyos tartományba esik, például A-tól D-ig | Like "[A-D]*" | Azoknak az ország/régió mezőknek a rekordjait adja vissza, amelyek „A” és „D” közé eső betűvel kezdődnek |
| Egyezik két érték egyikével, például USA vagy Egyesült Királyság | "USA" Or "Egyesült Királyság" | Azokat a rekordokat adja vissza, amelyek vagy az USA, vagy az Egyesült Királyság értéket tartalmazzák |
| Egyezik egy értéklista valamelyik elemével | In("Franciaország"; "Kína"; "Németország"; "Japán") | A listában megadott ország/régió mezők nevét tartalmazó rekordokat adja vissza |
| A mezőérték bizonyos pozícióiban megadott karakterek találhatók | Right([OrszágRégió]; 1) = "g" | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve „g” betűre végződik |
| Megfelel a karakterlánc hosszúságára vonatkozó követelménynek | Len([Országrégió]) > 10 | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve több, mint 10 karakter hosszú |
| Megfelel egy bizonyos mintának | Like "Szlov????" | Azokat a rekordokat adja vissza, amelyekben az ország/régió neve kilenc karakter hosszú, és a „Szlov” karakterlánccal kezdődik (Szlovákia és Szlovénia). Megjegyzés: A kifejezésben használt ? és _karakterek egyetlen karaktert jelölnek – ezeket helyettesítő karaktereknek is nevezik. A _ karakter nem használható ugyanabban a kifejezésben a ? karakterrel, és nem használható helyettesítő karakterrel rendelkező * kifejezésekben sem. A _ helyettesítő karaktert olyan kifejezésben is használhatja, amely a % helyettesítő karaktert is tartalmazza. |
Szám, Pénzegység és Számláló típusú mezők feltételei
Az alábbi példák egy termékinformációkat tartalmazó táblára épülő lekérdezés Listaár mezőjére vonatkoznak. Ezt a feltételt a lekérdezés tervezőrácsának Feltétel sorában kell megadni.
| Kívánt rekordok | Használja ezt a feltételt | A lekérdezés eredménye |
|---|---|---|
| Pontosan megegyezik egy értékkel (például 1000) | 100 | Azokat a rekordokat adja vissza, amelyekben a termék listaára 1000 forint |
| Nem egyezik meg egy értékkel (például 1000) | Not 1000 | Azokat a rekordokat adja vissza, amelyekben a termék listaára nem 1000 forint |
| Egy bizonyos értéknél (például 1000) kisebb értéket tartalmaz |
< 100 <= 100 |
Azokat a rekordokat adja vissza, ahol az egységár kisebb, mint 100 USD (<100). A második kifejezés (<=100) olyan rekordokat jelenít meg, ahol az egységár kisebb vagy egyenlő 100 FT-nál. |
| Egy adott értéknél (például 999) nagyobb értéket tartalmaz |
>99.99 >=99,99 |
Azokat a rekordokat adja vissza, ahol az egységár nagyobb, mint 99,99 USD (>99,99). A második feltétel (>=999) azokat a rekordokat jeleníti meg, amelyekben a listaár nagyobb 999 forintnál, vagy egyenlő vele |
| Két érték (például 200 és 250) közül az egyiket tartalmazza | 200 or 250 | Azokat a rekordokat adja vissza, amelyekben a termék listaára 200 vagy 250 forint |
| Egy bizonyos tartományba eső értéket tartalmaz |
>49,99 és <99,99 – vagy – 50 és 100 között |
Azokat a rekordokat adja vissza, amelyek listaár mezőjében 499 forintnál nagyobb és 999 forintnál kisebb érték szerepel |
| Egy bizonyos tartományon kívül eső értéket tartalmaz | <50 vagy >100 | Azokat a termékeket adja vissza, amelyeknek a listaára nem 500 és 1000 forint közé esik |
| Több megadott érték közül az egyikkel megegyezik | In(200; 250; 300) | Azokat a rekordokat adja vissza, ahol a listaár 200, 250 vagy 300 forint |
| Meghatározott számjegyekkel végződő értéket tartalmaz | Like "*499" | Azokat a rekordokat adja vissza, ahol a listaár „499”-re végződik, például 499, 1499, 2499 forint stb. Megjegyzés: A kifejezésekben használt karakterek * és %karakterek tetszőleges számú karaktert jelölnek – ezeket helyettesítő karaktereknek is nevezik. A % karakter nem használható ugyanabban a kifejezésben a * karakterrel, és nem használható a ? helyettesítő karaktert tartalmazó kifejezésekben sem. A % helyettesítő karaktert olyan kifejezésben is használhatja, amely a _ helyettesítő karaktert is tartalmazza. |
| Null (vagy hiányzó) értéket tartalmaz | Is Null | Azokat a rekordokat adja vissza, amelyek nem tartalmaznak értéket a Listaár mezőben |
| Nem null értéket tartalmaz | Is Not Null | Azokat a rekordokat adja vissza, amelyek tartalmaznak értéket a Listaár mezőben |
Dátum/Idő típusú mezők feltételei
Az alábbi példák egy rendelési információkat tároló táblára épülő lekérdezés RendelésiDátum mezőjére vonatkoznak. Ezt a feltételt a lekérdezés tervezőrácsának Feltétel sorában kell megadni.
| Kívánt rekordok | Használandó feltétel | A lekérdezés eredménye |
|---|---|---|
| Pontosan megegyező érték, mint például 2006.02.02. | #2006.02.02.# | Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2-án történtek. A dátumértékeket kettős kereszt (#) karakterek közé kell tennie, hogy az Access meg tudja különböztetni őket a szöveges karakterláncoktól |
| A megadott értékkel (például 2006.02.02.) nem megegyező érték | Not #2006.02.02.# | Azon tranzakciók rekordjait adja vissza, amelyek nem 2006. február 2-án történtek |
| Egy bizonyos dátumnál (például 2006.02.02.) korábbi dátumértéket tartalmaz | < #2/2/2006# | Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2. előtt történtek. Az ezen a napon vagy azt megelőzően végrehajtott tranzakciók megtekintéséhez használja az <= operátort az < operátor helyett. |
| Egy bizonyos dátumnál (például 2006.02.02.) későbbi értéket tartalmaz | > #2/2/2006# | Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2. után történtek. Az ezen a napon vagy azt követően végrehajtott tranzakciók megtekintéséhez használja az >= operátort az > operátor helyett. |
| Egy bizonyos dátumtartományba eső értékeket tartalmaz | >#2006. 02. 02. és <2006. 02. 04.# | A 2006. február 2. és 2006. február 4. közötti napokra vonatkozó rekordokat adja vissza. A Between operátorral is szűrhet értéktartományra (a szélsőértékekkel együtt). Például a Between #2/2/2/2006# és a #2006.02.04# érték megegyezik >az =#2006.02.02# és <a =#2006.04.02# értékével. |
| Egy bizonyos dátumtartományon kívül eső értékeket tartalmaz | <#2006.02.02. vagy >#2006.02.04.# | Azokat a rekordokat adja vissza, amelyek a 2006. február 2. előtti és a 2006. február 4. utáni tranzakciókra vonatkoznak |
| Egyezik két érték egyikével, például 2006.02.02. vagy 2006.02.03. | #2006.02.02# or #2006.02.03# | Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2-án és 2006. február 3-án történtek |
| Több megadott érték közül az egyikkel megegyezik | In (#2006.02.01.#, #2006.03.01.#, #2006.04.01.#) | Azokat a rekordokat adja vissza, amelyek 2006. február 1-jén, 2006. március 1-jén vagy 2006. április 1-jén történt tranzakciókra vonatkoznak |
| Egy bizonyos havi (például decemberi) dátumot tartalmaz, évszámtól függetlenül | DatePart("m"; [ErtekesitesiDátum]) = 12 | Azokat a rekordokat adja vissza, amelyek bármely év decemberére vonatkozó adatokat tárolnak |
| Egy bizonyos negyedévi (például első negyedévi) dátumot tartalmaz, évszámtól függetlenül | DatePart("q"; [ErtekesitesiDatum]) = 1 | Azokat a rekordokat adja vissza, amelyek bármely év első negyedévére vonatkozó adatokat tárolnak |
| A napi dátumot tartalmazza | Date() | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális napon történtek. Ha ma 2006. február 2-a van, akkor azok a rekordok jelennek meg, amelyeknek a RendelésiDátum mezője a 2006.02.02. értéket tartalmazza |
| A tegnapi dátumot tartalmazza | Date()-1 | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális nap előtti napon történtek. Ha ma 2006. február 2-a van, akkor azok a rekordok jelennek meg, amelyek a 2006.02.01. értéket tartalmazzák |
| A holnapi dátumot tartalmazza | Date() + 1 | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális nap utáni napon történtek. Ha ma 2006. február 2-a van, akkor azok a rekordok jelennek meg, amelyek a 2006.02.03. értéket tartalmazzák |
| Az aktuális hétre eső dátumot tartalmaz | DatePart("ww"; [ErtekesitesiDatum]) = DatePart("ww"; Date()) and Year( [ErtekesitesiDatum]) = Year(Date()) | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális héten történtek. A hét hétfőn kezdődik és vasárnap fejeződik be. |
| Az aktuális előtti hétre eső dátumot tartalmaz | Year([ErtekesitesiDatum])* 53 + DatePart("ww"; [ErtekesitesiDatum]) = Year(Date())* 53 + DatePart("ww"; Date()) - 1 | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális hét előtti héten történtek. A hét hétfőn kezdődik és vasárnap fejeződik be. |
| A következő hétre eső dátumot tartalmaz | Year([ErtekesitesiDatum])* 53+DatePart("ww"; [ErtekesitesiDatum]) = Year(Date())* 53+DatePart("ww"; Date()) + 1 | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális hét utáni héten történnek. A hét hétfőn kezdődik és vasárnap fejeződik be. |
| A legutóbbi 7 nap közül valamelyiket tartalmazza | Between Date() and Date()-6 | Azon tranzakciók rekordjait adja vissza, amelyek az elmúlt 7 napon történtek. Ha a mai dátum 2006. február 2., akkor a 2006. január 24. és 2006. február 2. közötti időszak adatai jelennek meg |
| Egy, az aktuális hónapra eső dátumot tartalmaz | Year([ErtekesitesiDatum]) = Year(Now()) And Month([ErtekesitesiDatum]) = Month(Now()) | Az aktuális hónapra vonatkozó rekordokat adja vissza. Ha ma 2006. február 2-a van, akkor a 2006. februári rekordok jelennek meg |
| Egy, az előző hónapra eső dátumot tartalmaz | Year([ErtekesitesiDatum])* 12 + DatePart("m"; [ErtekesitesiDatum]) = Year(Date())* 12 + DatePart("m"; Date()) - 1 | Az előző hónapra vonatkozó rekordokat adja vissza. Ha ma 2006. február 2-a van, akkor a 2006. januári rekordok jelennek meg |
| Egy, a következő hónapra eső dátumot tartalmaz | Year([ErtekesitesiDatum])* 12 + DatePart("m"; [ErtekesitesiDatum]) = Year(Date())* 12 + DatePart("m"; Date()) + 1 | A következő hónapra vonatkozó rekordokat adja vissza. Ha ma 2006. február 2-a van, akkor a 2006. márciusi rekordok jelennek meg |
| Egy, az elmúlt 30 vagy 31 napra eső dátumot tartalmaz | Between Date() And DateAdd("M"; -1; Date()) | Az elmúlt hónap értékesítési adatai. Ha a mai dátum 2006. február 2., akkor a 2006. január 2. és 2006. február 2. közötti időszak rekordjai jelennek meg |
| Egy, az aktuális negyedévre eső dátumot tartalmaz | Year([ErtekesitesiDatum]) = Year(Now()) And DatePart("q"; Date()) = DatePart("q"; Now()) | Az aktuális negyedévre vonatkozó rekordokat adja vissza. Ha a mai dátum 2006. február 2., akkor 2006 első negyedévének a rekordjait adja vissza. |
| Egy, az előző negyedévre eső dátumot tartalmaz | Year([ErtekesitesiDatum])*4+DatePart("q";[ErtekesitesiDatum]) = Year(Date())*4+DatePart("q";Date())- 1 | Az előző negyedévre vonatkozó rekordokat adja vissza. Ha a mai dátum 2006. február 2., akkor 2005 utolsó negyedévének a rekordjait adja vissza. |
| Egy, a következő negyedévre eső dátumot tartalmaz | Year([ErtekesitesiDatum])*4+DatePart("q";[ErtekesitesiDatum]) = Year(Date())*4+DatePart("q";Date())+1 | A következő negyedévre vonatkozó rekordokat adja vissza. Ha a mai dátum 2006. február 2., akkor 2006 második negyedévének a rekordjait adja vissza. |
| Egy, az aktuális évre eső dátumot tartalmaz | Year([ErtekesitesiDatum]) = Year(Date()) | Az aktuális évre vonatkozó rekordokat adja vissza. Ha ma 2006. február 2-a van, akkor a 2006. évi rekordok jelennek meg |
| Egy, az előző évre eső dátumot tartalmaz | Year([ErtekesitesiDatum]) = Year(Date()) - 1 | Azon tranzakciók rekordjait adja vissza, amelyek az előző évben történtek. Ha ma 2006. február 2-a van, akkor a 2005. évi rekordok jelennek meg |
| Egy, a következő évre eső dátumot tartalmaz | Year([ErtekesitesiDatum]) = Year(Date()) + 1 | Azon tranzakciók rekordjait adja vissza, amelyeknek dátuma a következő év. Ha ma 2006. február 2-a van, akkor a 2007. évi rekordok jelennek meg |
| Egy, a január elsejétől a mai napig tartó időszakba eső dátumot tartalmaz (a folyó év a mai napig) | Year([SalesDate]) = Year(Date()) and Month([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date()) | Azon tranzakciók rekordjait adja vissza, amelyek az idei év január elsejétől a mai napig tartó időszakban történtek. Ha a mai dátum 2006. február 2., akkor a 2006. január 1. és 2006. február 2. közötti időszak rekordjai jelennek meg |
| Egy múltbeli dátumot tartalmaz | < Dátum() | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális nap előtt történtek |
| Egy jövőbeli dátumot tartalmaz | > Dátum() | Azon tranzakciók rekordjait adja vissza, amelyek az aktuális nap után történnek |
| Null (vagy hiányzó) értékek szűrése | Is Null | Azokat a rekordokat adja vissza, amelyek esetében a tranzakció dátuma hiányzik |
| Nem null értékek szűrése | Is Not Null | Azokat a rekordokat adja vissza, amelyek esetében a tranzakció dátuma ismert |
Az Igen/nem típusú mezők feltételei
Az Ügyfelek tábla például egy Aktív nevű Igen/Nem mezővel rendelkezik, amely azt jelzi, hogy egy ügyfél fiókja jelenleg aktív-e. Az alábbi táblázatban látható, hogyan értelmezi a program a Feltételek sorban megadott értékeket egy Igen/Nem típusú mező esetében.
| Mezőérték | Eredmény |
|---|---|
| Igen, Igaz, 1 vagy -1 | Azt vizsgálja, hogy az Igen érték szerepel-e a mezőben. Az 1 vagy -1 értéket „Igaz” értékre alakítja át a megadását követően. |
| Nem, Hamis vagy 0 | Azt vizsgálja, hogy a Nem érték szerepel-e a mezőben. A 0 értéket „Hamis” értékre alakítja át a megadását követően. |
| Nincs érték (null) | Nem vizsgálja meg a mezőt. |
| Bármely 1-től, -1-től és 0-tól különböző szám | Nincs eredmény, ha ez az egyetlen feltételérték a mezőhöz. |
| Bármely karakterlánc az Igen, a Nem, az Igaz és a Hamis kivételével | A lekérdezés nem fut le az adattípus eltérése miatt. |
Egyéb mezők feltételei
Mellékletek A Feltétel sorba írja be az Is Null értéket a mellékleteket nem tartalmazó rekordok belefoglalásához. Az Is Not Null kifejezés használata esetén a mellékleteket tartalmazó rekordok kerülnek a lekérdezés eredményébe.
Keresőmezők: Kétféle keresőmező létezik: az egyik egy létező adatforrásból keres értékeket (egy külső kulcs segítségével), míg a másik egy, a keresőmező létrehozásakor megadott értéklistán alapul.
Az értéklistán alapuló keresőmezők Szöveg adattípusúak, és ugyanazok a feltételek határozhatók meg rájuk, mint az egyéb szöveges mezőkre.
A létező adatforrást használó keresőmezőre alkalmazható feltételek nem a keresett adat adattípusától, hanem a külső kulcs adattípusától függenek. Lehet például olyan keresőmező, amely alkalmazottak nevét jeleníti meg, de külső kulcsa Szám adattípusú. Mivel a mező szöveg helyett egy számot tárol, a számokhoz használható feltételeket kell használnia; azaz >2.
Ha nem ismeri a külső kulcs adattípusát, ellenőrizze a forrástáblát a Tervező nézetben a mező adattípusának meghatározásához. Ehhez tegye a következőket:
Keresse meg a forrástáblát a Navigációs ablakban.
Az alábbi módszerek egyikével nyissa meg a táblát Tervező nézetben:
- Kattintson a táblára, majd nyomja le a CTRL+ENTER billentyűkombinációt.
- Kattintson a jobb gombbal a táblára, majd kattintson a Tervező nézet parancsra.
Az egyes mezők adattípusa a táblatervező rács Adattípus oszlopában látható.
Többértékű mezők A többértékű mezőkben lévő adatok egy rejtett tábla soraiként vannak tárolva, amelyeket az Access létrehoz és feltölt a mező megjelenítéséhez. A lekérdezések Tervező nézetében az ilyen mezők a Mezőlistában kibontható mezőként jelennek meg. Ha többértékű mezőre szeretne feltételt alkalmazni, a rejtett tábla egyetlen sorára kell azt megadnia. Ehhez tegye a következőket:
- Hozzon létre egy lekérdezést, amely tartalmazza a többértékű mezőt, majd nyissa meg Tervező nézetben.
- Bontsa ki a többértékű mezőt a mellette lévő pluszjelre (+) kattintva – ha a mező már ki van bontva, ez egy mínuszjel (-). A mező neve alatt látható egy másik mező, amely a többértékű mező egy értékét képviseli. Ennek a mezőnek a neve ugyanaz lesz, mint a többértékű mezőnek, de .Value végződéssel van ellátva.
- Húzza a többértékű mezőt és annak egyértékű mezőjét a tervezőrács külön oszlopába. Ha az eredményben csak a teljes többértékű mezőt szeretne látni, törölje az egyértékű mező Megjelenítés jelölőnégyzetét.
- Adja meg a feltételt az egyértékű mező Feltétel sorában, a megjelenő adattípusnak megfelelő módon.
- Az Access a megadott feltételek szerint minden értéket egyenként megvizsgál a többértékű mezőben. Lehet például egy olyan többértékű mező, amely számlistát tárol. Ha az 5 ÉS <3 feltételt> adja meg, minden rekord, ahol legalább egy érték nagyobb 5-nél, és egy érték 3-nál kisebb, egyezni fog.