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 ehhez a művelethez további segítségre van szüksége, akkor 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
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ésfeltételeket a Access alkalmazásban kifejezéseknek is nevezik.
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 and <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"; [SzületésiDátum]; 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:
Város = "Szeged" ÉS SzületésiDátum < DateAdd (" yyyy "; -40; Date())
1. A Város és a SzületésiDátum mező feltételt tartalmaz.
2. Csak azok a rekordok elégítik ki a feltételt, amelyekben Szeged a város mező értéke.
3. Csak a legalább 40 évesekhez tartozó rekordok fognak megfelelni a feltételnek.
4. Csak a mindkét feltételt kielégítő rekordok jelennek meg az eredményben.
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ételt a Feltétel sorban adja meg.
2. A SzületésiDátum feltételt a vagy sorban adja meg.
A Feltétel és a vagy sorokban megadott feltételek a VAGY operátorral kapcsolódnak össze az alábbiak szerint:
Település = "Szeged" OR SzületésiDátum < 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([Tábla1].[Mező1];1) = "http://www.microsoft.com/", ahol a Tábla1 a hivatkozásmezőt tartalmazó tábla, a Mező1 a hivatkozásmező, és a http://www.microsoft.com az egyeztetni kívánt URL.
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: Ha egy kifejezésben használja a csillag (*) karaktert, az bármilyen karakterláncot jelöl – ezt helyettesítő karakternek hívjuk. 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: Ha a kérdőjel (?) és az aláhúzásjel (_) karaktert egy kifejezésben használja, azok egyetlen karaktert jelképeznek – ezeket helyettesítő karaktereknek is hívjuk. Az _ karaktert nem lehet egy kifejezésben használni sem a ?, sem a * helyettesítő karakterrel. A _ helyettesítő karaktert használhatja olyan kifejezésben, 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álandó feltétel |
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, amelyekben a termék listaára kevesebb, mint 1000 forint (<1000). A második feltétel (<=1000) azokat a rekordokat jeleníti meg, amelyekben a listaár kevesebb 1000 forintnál, vagy egyenlő vele |
Egy adott értéknél (például 999) nagyobb értéket tartalmaz |
>99,99 >=99,99 |
Azokat a rekordokat adja vissza, amelyekben a termék listaára nagyobb, mint 999 forint (>999). 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 |
<500 or >1000 |
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 csillag (*) és a százalékjel (%) karakter, ha kifejezésben használja, akárhány karaktert helyettesíthet – ezeket helyettesítő karaktereknek is hívjuk. A % karaktert nem lehet egy kifejezésben használni sem a *, sem a ? helyettesítő karakterrel. A % helyettesítő karaktert használhatja olyan kifejezésben, amely az _ 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 |
< #2006.02.02.# |
Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2. előtt történtek. Ha azt szeretné, hogy a megadott napon történt tranzakciók is megjelenjenek, a < operátor helyett használja a <= operátort |
Egy bizonyos dátumnál (például 2006.02.02.) későbbi értéket tartalmaz |
> #2006.02.02.# |
Azon tranzakciók rekordjait adja vissza, amelyek 2006. február 2. után történtek. Ha azt szeretné, hogy a megadott napon történt tranzakciók is megjelenjenek, a > operátor helyett használja a >= operátort |
Egy bizonyos dátumtartományba eső értékeket tartalmaz |
>#2006.02.02.# and <#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 #2006.02.02.# and #2006.02.04.# ugyanazt jelenti, mint a >#2006.02.02.# and <#2006.02.04.# kifejezés |
Egy bizonyos dátumtartományon kívül eső értékeket tartalmaz |
<#2006.02.02.# or >#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([ErtekesitesiDatum]) = Year(Date()) and Month([ErtekesitesiDatum]) <= Month(Date()) and Day([ErtekesitesiDatum]) <= 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 |
< Date() |
Azon tranzakciók rekordjait adja vissza, amelyek az aktuális nap előtt történtek |
Egy jövőbeli dátumot tartalmaz |
> Date() |
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
Tegyük fel, hogy Vevők táblája tartalmaz egy Aktív nevű, Igen/Nem típusú mezőt, amely azt jelzi, hogy egy vevő kapcsolattartója aktív-e az adott időpontban. 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 sorban az Is Null kifejezéssel azokat a rekordokat keresi meg, amelyek nem tartalmaznak mellékleteket. 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ő nem szöveget, hanem számot tárol, ezért a számokra alkalmazható feltételeket használhatja, például: >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ők adatai rejtett táblák soraiként vannak tárolva, ezeket a táblákat az Access hozza létre és tölti fel. 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.
-
A többértékű mező melletti pluszjelre (+) kattintva bontsa ki a mezőt – ha a mező már ki van bontva, egy mínuszjel (-) látható mellette. 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 a >5 AND <3 feltételt adja meg, azok a rekordok felelnek meg a feltételnek, amelyekben található legalább egy 5-nél nagyobb és egy 3-nál kisebb érték.