Üres mezők használata lekérdezésben

Amikor egy mező nem tartalmaz értékeket, akkor tulajdonképpen Null (<b>Null</b>: Hiányzó vagy ismeretlen adatot jelölő, mezőkbe bevihető, valamint kifejezésekben és lekérdezésekben használható érték. A Visual Basic programban a <b>Null</b> kulcsszó <b>Null</b> értéket jelöl. Bizonyos mezők, például az elsődleges kulcsot tároló mezők, nem tartalmazhatnak <b>Null</b> értéket.) értéket, illetve Szöveg (Szöveg adattípus: Microsoft Access adatbázis mezőadattípusainak egyike. Az ilyen mezőkben a <b>Mezőméret</b> tulajdonságban megadott számú, de legfeljebb 255 karakter lehet.), Feljegyzés (Feljegyzés adattípus: A Microsoft Access adatbázisokban használható mezőadattípusok egyike. A Feljegyzés típusú mezőkben legfeljebb 65 535 karaktert lehet tárolni.) vagy Hiperhivatkozás (hivatkozás adattípus: Hivatkozásokat tároló mezők adattípusa az Access adatbázisaiban. A címnek legfeljebb négy része lehet, és a következő szintaxis szerint kell beírni: <i>megjelenítendő szöveg</i><b>#</b><i>cím</i><b>#</b><i>alcím</i><b>#</b>.) adattípus esetén Null értéket vagy nulla hosszúságú karakterláncot (nulla hosszúságú karaktersorozat: Karaktert nem tartalmazó karaktersorozat. A nulla hosszúságú karaktersorozatot annak jelzésére használjuk, hogy egy mező szándékosan nem tartalmaz értéket. Bevitele két idézőjel beírásával történik, amelyek között nincs szóköz ("").) tartalmaz. Ha a mező Null értékeket tartalmaz, ezek befolyásolhatják a lekérdezés eredményét. Az alábbiakban arról olvashatunk, hogyan kezeljük a Null értékeket és a nulla hosszúságú karakterláncokat a lekérdezésekben.

Táblák összekapcsolása Null értéket tartalmazó mezők illesztésével

Amikor a lekérdezésbe mezőket illesztünk, az eredmény csak a megfelelő mezőkben nem Null értéket tartalmazó rekordokat tartalmazza. Ha például azokat a szállítókat és vevőket szeretnénk kigyűjteni, akik ugyanabban a körzetben laknak, létrehozhatjuk a Szállítók és a Vevők táblát tartalmazó lekérdezést, amely táblák a Körzet mezőn keresztül kapcsolódnak össze. Az eredmények között csak azon rekordok értékei jelennek meg, amelyek mindkét tábla Körzet mezőjében értéket tartalmaznak.

Null értékek vagy nulla hosszúságú karakterláncok keresése

Ha lekérdezés segítségével keresünk Null értékeket vagy nulla hosszúságú karakterláncokat, akkor a Feltétel cellába írjuk az Is Null kifejezést a Null értékek keresésénél, míg a nulla hosszúságú karaktersorozatok esetében írjunk két idézőjelet ("") a Feltétel cellába (az idézőjelek között ne legyen szóköz).

A Null érték hatása a numerikus számításokra

Ha összesítő függvény (összesítő függvény: Olyan függvény (például a <b>Sum</b>, <b>Count</b>, <b>Avg</b> és <b>Var</b>), amellyel összesítést lehet készíteni.) segítségével összeget, átlagot, darabszámot vagy mást számítunk egy mező értékein, a mezőben Null értéket tartalmazó rekordok nem kerülnek bele az eredménybe. Ez akkor is igaz, ha az összesítést a lekérdezés tervezőrácsának (tervezőrács: Lekérdezés vagy szűrő tervezésekor használható rács a lekérdezés Tervező nézetében vagy az Irányított szűrés/rendezés ablakban.)

Összesítés sora, az Egyszerű lekérdezés varázsló vagy egyéni kifejezés (kifejezés: Matematikai vagy logikai műveleti jelek, állandók, függvények, valamint mezők, vezérlők és tulajdonságok nevének bármilyen kombinációja, melynek eredménye egyetlen érték. A kifejezések számításokat, karaktereken értelmezett műveleteket vagy adattesztelést végezhetnek.) segítségével számítjuk. Ha például a Count függvénnyel számoljuk meg a mező értékeinek számát, ez a nem Null értékű rekordok számát adja vissza. Ha a Null értéket tartalmazókat is be szeretnénk venni az eredménybe, a Count függvényt csillag (*) helyettesítő karakterrel kell használni.

Ha műveleti jel (például +, -, *, /) is szerepel a kifejezésben (például [Raktáron]+[Megrendelve]), és a kifejezés mezőinek bármelyike Null értéket tartalmaz, az egész kifejezés eredménye a Null érték lesz.

A Null érték átalakítása zérus értékre

Ha a táblában Null érték is szerepel, olyan kifejezést (kifejezés: Matematikai vagy logikai műveleti jelek, állandók, függvények, valamint mezők, vezérlők és tulajdonságok nevének bármilyen kombinációja, melynek eredménye egyetlen érték. A kifejezések számításokat, karaktereken értelmezett műveleteket vagy adattesztelést végezhetnek.)

is létre lehet hozni, amely a Null értékeket zérus értékre konvertálja. Ez például olyankor hasznos, ha a Null értéket tartalmazó rekordokat is be szeretnénk venni egy összesítő (összesítő függvény: Olyan függvény (például a <b>Sum</b>, <b>Count</b>, <b>Avg</b> és <b>Var</b>), amellyel összesítést lehet készíteni.) számításba, vagy meg szeretnénk akadályozni, hogy ha bármelyik mező, amelyre a kifejezés hivatkozik, Null értékű, az egész kifejezés eredménye Null érték legyen. A Null értékek konvertálását az Nz függvénnyel lehet végrehajtani:

Nz([Subtotal],0+Nz([Freight],0)

Null értékeket tartalmazó Szöveg mezők egyesítése

Ha kifejezés (kifejezés: Matematikai vagy logikai műveleti jelek, állandók, függvények, valamint mezők, vezérlők és tulajdonságok nevének bármilyen kombinációja, melynek eredménye egyetlen érték. A kifejezések számításokat, karaktereken értelmezett műveleteket vagy adattesztelést végezhetnek.) segítségével egyesítünk két szöveges értéket tartalmazó mezőt, és a mezők egyike vagy mindkettő Null értéket tartalmaz, az értékek egyesítésekor az & operátort használhatjuk a + operátor helyett. Az & operátor akkor is egyesíti az értékeket, ha azok értéke Null, míg a + operátor Null értéket ad vissza, ha az értékek bármelyike Null. Például:

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

Rendezés Null értéket vagy nulla hosszúságú karakterláncot tartalmazó mező alapján

Amikor növekvő sorrendben rendezünk egy mezőt, az illető mezőben a Null értéket tartalmazó rekordok a felsorolás elejére kerülnek. Ha a mező Null értéket és nulla hosszúságú karaktersorozatot is tartalmaz, a rendezési sorrendben a Null értékek jelennek meg elsőként, közvetlenül a nulla hosszúságú karaktersorozatok előtt.

A * helyettesítő karakter használata nem Null értékek visszakeresésére

Ha a mező feltételének (kikötések: Olyan feltételek, amelyek segítségével megszabhatjuk, hogy mely rekordok jelenjenek meg a lekérdezés vagy a szűrő eredményhalmazában.) definiálásakor a Like "*" (ANSI-89) vagy a Like "%" (ANSI-92) kifejezést (kifejezés: Matematikai vagy logikai műveleti jelek, állandók, függvények, valamint mezők, vezérlők és tulajdonságok nevének bármilyen kombinációja, melynek eredménye egyetlen érték. A kifejezések számításokat, karaktereken értelmezett műveleteket vagy adattesztelést végezhetnek.)adjuk meg, a lekérdezés eredményében a mezőben található nulla hosszúságú karakterláncok szerepelni fognak, a Null értékek azonban nem.

Következő leckéhez klikkelje!

Bezárás