Többértékű mezők használata lekérdezésekben

Fontos : Ez a cikk gépi fordítással lett lefordítva, lásd a jognyilatkozatot. A cikk angol változatát itt találhatja meg.

A Microsoft Office Access 2007 alkalmazásban létrehozható olyan mező, amely több értéket tárol, például az egy ügyhöz hozzárendelt személyek listáját. A többértékű mezők megfelelők bizonyos helyzetekben, például amikor azt szeretné, hogy az Office Access 2007 egy Windows SharePoint Services 3.0-listában tárolt adatokkal dolgozzon, és a lista az Windows SharePoint Services 3.0 alkalmazásban található többértékű adattípusok egyikét használja.

Ez a témakör a többértékű mezőket és lekérdezésben történő használatukat mutatja be.

Tartalom

Mi az többértékű mező?

Lekérdezések bemutatása

Többértékű mező megjelenítése egy lekérdezésben

Többértékű mezőben lévő az egyes értékek megjelenítése

A kötött értéket, és a megjelenített érték egy keresőmezőt ismertetése

A kötött értéket megjelenítését a lekérdezésben

Többértékű mező egyszerű lekérdezési feltétel megadása

Többértékű mező a több érték keresése

Ismertetése, többek között a hatása a. Érték mezőt a mezőlistában

Számlálás, csoportosítási, és más összesítő függvények használatával

Többértékű mezőt tartalmazó hozzáfűző lekérdezéssel

Többértékű mezőt tartalmazó a frissítő lekérdezés használata

Többértékű mezőt tartalmazó törlő lekérdezés használata

Vissza a lap tetejére

Mit neveznek többértékű mezőnek?

Tegyük fel, hogy egy feladatot ki szeretne osztani az egyik alkalmazottjának vagy partnerének, de arra a döntésre jut, hogy több munkatársnak kell kiosztania. Az Office Access 2007 alkalmazásban létrehozhat egy többértékű mezőt, amelyben kiválaszthatja a munkatársakat egy listáról.

Többértékű mező

Amikor rákattint a beviteli listára, bejelölt jelölőnégyzetek jelzik a lista kijelölt elemeit. Bejelölheti az elemeket, vagy törölheti a bejelölésüket, majd az OK gombra kattintással véglegesítheti a választását.

Többértékű mezőt tartalmazó beviteli lista

A kiválasztott munkatársakat a többértékű mező tárolja, és (alapértelmezés szerint) vesszőkkel elválasztva jelennek meg.

Többértékű mező vesszővel elválasztott értékekkel

A többértékű mezők lényege, hogy könnyebb dolga legyen olyankor, amikor több elemet szeretne választani és tárolni, az adatbázis szerkezetének bonyolítása nélkül. A többértékű mezők fontosak továbbá a Windows SharePoint Services szolgáltatással történő integrációban is, mivel a SharePoint-listák is támogatják a többértékű mezőket.

Akár csodálkozhat is rajta, hogy miért engedi meg az Office Access 2007 egynél több érték tárolását egy mezőben, hiszen a legtöbb relációs adatbázis-kezelő rendszer tiltja ezt. Erre az a válasz, hogy az Office Access 2007 adatbázismotorja valójában nem egy mezőben tárolja az értékeket. Bár amit lát és amit használ, egyetlen mezőnek tűnik fel, valójában rejtett, külön rendszertáblázat tárolja és kezeli egymástól függetlenül az értékeket. Az Access adatbázismotor maga oldja meg a problémát, automatikusan szétválasztja az adatokat, azután a felszínen egyesíti őket, hogy egy mezőben jelenjenek meg.

Műszaki szempontból az Access többértékű mezője több a többhöz kapcsolatot modellez. Gondoljon például egy eseménytáblázatra, amelyben a különböző eseményekért viselt felelősséget egy vagy több alkalmazottnak osztja ki. Tegyük fel, hogy létrehoz egy Felelős nevű mezőt azért, hogy hozzárendelje az eseményeket az alkalmazottakhoz. Az események és az alkalmazottak között több a többhöz kapcsolat van. Ez azt jelenti, hogy bármely eseményhez több alkalmazott is hozzá lehet rendelve, és ugyanaz az alkalmazott több eseményhez is hozzá lehet rendelve.

Vissza a lap tetejére

Lekérdezések - bevezető

Az adatbázisok elsődleges célja, hogy információt szolgáltassanak: „Melyik a legkeresettebb termék? Ki a legjobb vásárló? Melyik vásárlói rétegnél nem éri el a céljait?” Ezek mind olyan kérdések, amelyeket joggal kérdezhet egy jól megtervezett adatbázistól. Ahhoz, hogy egy Access-adatbázistól megkapja a kérdésekre a választ, lekérdezést hoz létre, és megadja a szükséges feltételt. A lekérdezések adatai egy vagy több táblából származhatnak. Miután az Access lekéri a kérdések megválaszolásához szükséges adatokat, megtekintheti és analizálhatja őket. A lekérdezést létrehozása után egy űrlap, jelentés, grafikon vagy akár egy másik lekérdezés alapjaként is használhatja.

Az Office Access 2007 lehetővé teszi, hogy bizonyos módszerekkel és lekérdezésekben többértékű mezőket alkalmazzon. Egy lekérdezésben megjelenítheti a többértékű mezőt, az egyes értékeit, és a többértékű mezőkkel bizonyos összegző műveleteket és módosító lekérdezéseket hajthat végre.

Vissza a lap tetejére

Többértékű mező megjelenítése lekérdezésben

Ha többértékű mezőt jelenít meg egy lekérdezésben, el kell döntenie, hogy a teljes többértékű mezőt szeretné megjeleníteni (úgy, hogy minden érték szerepel benne vesszővel elválasztva), vagy minden értéket külön sorban. Tegyük fel például, hogy az Issues (Ügyek) táblában van egy AssignedTo (Felelős) nevű mező, és ebben rendeli hozzá az ügyeket a munkatársakhoz. Az alábbi eljárással felépíthet egy olyan lekérdezést, amely az AssignedTo mezőt tartalmazza:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában a Title (Cím) mezőt és az AssignedTo nevű többértékű mezőt húzza a tervezőrácsra.

  7. Kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés az alábbi ábrához hasonló lesz – az első oszlop az ügy címét, a második pedig a többértékű mezőt jeleníti meg:

A Title és az AssignedTo mezőt mutató lekérdezés eredménye

Amikor Tervező nézetben hoz létre egy lekérdezést, az Access automatikusan generálja a megfelelő SQL-utasítást. Az SQL az Access által használt lekérdezőnyelv. Az alábbi eljárással SQL nézetre válthat az SQL-utasítás megtekintése végett.

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

Vissza a lap tetejére

Többértékű mező egyedi értékeinek megjelenítése

Tegyük fel, hogy kibontva szeretné látni az AssignedTo nevű többértékű mező tartalmát, úgy, hogy minden név vagy érték külön sorban jelenjen meg. Ehhez meg kell adni az Érték tulajdonságot úgy, hogy a „.Value” szöveggel kiegészíti az „AssignedTo” mező nevét a Mező sorban, amint az a következő lekérdezési rácson látható:

A Title mezőt és az AssignedTo.Value mezőt mutató lekérdezési rács

Amikor megadja az AssignedTo mezőt a Mező sorban, az Access a lekérdezés futtatásakor egyetlen sorban jeleníti meg a többértékű mező minden értékét. Ha viszont használja az Érték tulajdonságot (AssignedTo.Value), az Access kibontott formátumban jeleníti meg a többértékű mezőt, tehát minden érték külön sorban jelenik meg, amint az az alábbi lekérdezési rácson látható:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. Húzza a használni kívánt mezőket (a példában a „Felelős.Value” nevű többértékű mezőt) a lekérdezés tervezőrácsára.

  7. Kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A Title mezőt és az AssignedTo mező egyes értékeit mutató lekérdezéseredmény

Amikor Tervező nézetben hoz létre egy lekérdezést, az Access automatikusan generálja a megfelelő SQL-utasítást. Az SQL az Access által használt lekérdezőnyelv. Az alábbi eljárással SQL nézetre válthat az SQL-utasítás megtekintése végett.

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.Title, 
Issues.AssignedTo.Value
FROM Issues;

Vissza a lap tetejére

Keresőmező kötött értéke és megjelenített értéke

A többértékű mező keresőmező. A keresőmező olyan mező, amely értékét egy másik táblából, lekérdezésből vagy értéklistából nyeri. Az Access több verziójában megtalálhatók voltak az egyértékű keresőmezők. A többértékű mező az Office Access 2007 újdonsága. A keresőmező arra szolgál, hogy lecserélje egy szám, például egy azonosító (vagy más idegen kulcs érték) megjelenített értékét több jelentéssel bíró tartalomra, például egy névre. Egy névjegy-azonosító szám helyett az Access például megjelenítheti a kapcsolattartó nevét. A kapcsolattartó neve a megjelenített érték.

Ahogyan egy egyértékű keresőmezőnek van megjelenített értéke és kötött értéke, a többértékű mezőnek vannak megjelenített értékei, amelyek megjelennek a felhasználói kezelőfelületen, és kötött értékei, amelyek a táblában vannak tárolva. A többértékű mező minden elemének a megjelenített értékét a kötött érték alapján „keresi ki” a program.

Ez azt jelenti, hogy az Access gyakran a mezőben tárolt kötött értéktől eltérő megjelenített értéket jelenít meg. Az előző, AssignedTo mezőt használó példában a Contacts Extended lekérdezéséből származó alkalmazottkód értékek az AssignedTo mezőben vannak tárolva. A többértékű mező létrehozásakor a Contacts Extended (Névjegyalbum bővített lekérdezése) nevű lekérdezést választották ki sorforrásként.

Ezek az alkalmazottkódok a kötött értékek. Mivel azonban az AssignedTo mező keresőmező, az Access a lekérdezés eredményében megjeleníti a keresett értékeket – ezúttal a kapcsolattartók nevét. A kapcsolattartók neve a megjelenített érték.

Adatlap megjelenített értékekkel és adatlap kötött értékekkel

1. A megjelenített értékek

2. A kötött értékek

Tervező nézetben megtekinthetők a többértékű mezők keresési tulajdonságai. Ehhez hajtsa végre az alábbi műveleteket:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. A Megnyitás párbeszédpanelen jelölje ki és nyissa meg az adatbázist.

  3. A navigációs ablakban kattintson a jobb gombbal a többértékű mezőt tartalmazó táblára.

  4. Kattintson a Tervező nézet parancsra.

  5. Kattintson a többértékű mezőre (például az AssignedTo mezőre).

  6. Kattintson a Mezőtulajdonságok területen a Keresés fülre.

Többértékű keresőmező tulajdonságai

Fontos megérteni, hogy mi a különbség a keresőmező kötött és megjelenített értéke között. Alapértelmezés szerint a megjelenített érték látszik Adatlap nézetben. Azonban a kötött érték a tárolt érték, amelyet a lekérdezés feltételében használ, és amelyet az Access alapértelmezés szerint a táblák illesztése alkalmával használ.

Vissza a lap tetejére

Hogyan jeleníthető meg a kötött érték egy lekérdezésben?

Alapértelmezés szerint automatikusan a megjelenített érték látszik az Adatlap nézetben. A lekérdezések létrehozása során felülbírálhatja ezt a működésmódot úgy, hogy a kötött érték jelenjen meg. A szükséges lépések az alábbi eljárásban láthatók:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában a Title mezőt és az AssignedTo.Value nevű többértékű mezőt húzza a tervezőrácsra.

  7. A lekérdezési rácson kattintson az AssignedTo.Value mezőre, hogy azon legyen a fókusz.

  8. Kattintson a Tervezés lap Megjelenítés/elrejtés csoportjának Tulajdonságlap gombjára.

  9. A tulajdonságlap Keresés lapján kattintson a Vezérlőelem megjelenítése tulajdonságra, és válassza a Beviteli mező lehetőséget.

A Vezérlőelem megjelenítése tulajdonság a lekérdezéstervezőben

Amikor a Vezérlőelem megjelenítése tulajdonság értékét Beviteli mezőre változtatja, letiltja a normális keresőoszlopként való működést, és a kötött érték jelenik meg a megjelenített érték helyett.

Lekérdezéseredményben megjelenített kötött érték

Vissza a lap tetejére

Többértékű mező egyszerű feltételének megadása

Tegyük fel, hogy szeretné a „Kelly Rollin” nevű alkalmazotthoz rendelt ügyeket megtekinteni. Megadhatja a lekérdezés feltételét a tervezőrács Feltétel sorában, de amikor egy keresőmező feltételét adja meg, a kötött értéket kell megadni, nem a megjelenítettet. A példánál maradva meghatározza, hogy a Kelly Rollin nevű alkalmazott kötött értéke 6. A Contacts Extended lekérdezésben ez Kelly elsődlegeskulcs-értéke.

Ha létre szeretne hozni egy lekérdezést, amely Kelly ügyeit jeleníti meg:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában húzza a Title mezőt a rács első oszlopára, majd az AssignedTo mezőt a másodikra.

  7. A lekérdezési rács lapon, az AssignedTo mező alatti Feltétel sorban adja meg a 6 értéket. Fontos, hogy a kötött értéket adja meg, ne a megjelenítettet.

    A lekérdezési rács, többértékű mezőben lévő feltétellel

  8. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés futtatásakor az eredmény megjelenik az Adatlap nézetben. Fontos tudni, hogy a lekérdezés csak azokat a sorokat adja vissza, amelyekben szerepel a Kelly Rollin név.

Lekérdezéseredmény, ahol az AssignedTo mező értéke 6

Amikor Tervező nézetben hoz létre egy lekérdezést, az Access automatikusan generálja a megfelelő SQL-utasítást. Az SQL az Access által használt lekérdezőnyelv. Az alábbi eljárással SQL nézetre válthat az SQL-utasítás megtekintése végett.

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Nem az azonosító, hanem a szöveg keresése

Mi a teendő, ha túl körülményesnek találja az azonosítószámokat, és keresési értékként inkább a „Kelly Rollin” szöveget szeretné megadni? Ehhez a lekérdezésnek kell, hogy legyen egy mezője, amely a szöveges értéket tartalmazza. Így ebben a mezőben kereshetővé válik a „Kelly Rollin” érték.

Nem használhatja az AssignedTo.Value mezőt, mert a kötött értéke azonosító, és ezért egy azonosítót kell megadni a mező szűréséhez.

Ebben a példában a kapcsolattartó neve mező nem a táblában van tárolva, hanem a többértékű AssignedTo mezőnek adatokkal szolgáló forráslekérdezésben található. Illesztheti a többértékű mező forrástábláját vagy -lekérdezését a többértékű mezőt tartalmazó táblával ahhoz, hogy a forrástábla vagy -lekérdezés egy mezőjét (jelen esetben a kapcsolattartó nevét tartalmazó mezőt) megjelenítse a lekérdezés eredményében. Ezután erre a mezőre kereshet a többértékű mező helyett.

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Issues” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. A Tábla megjelenítése párbeszédpanelen kattintson a Lekérdezések lapra, majd a lekérdezésre (jelen esetben a „Contacts Extended” lekérdezésre), amely a többértékű mező forrása, majd kattintson a Hozzáadás gombra.

  6. Kattintson a Bezárás gombra.

  7. A használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában húzza az Issues tábla Title mezőjét a rács első oszlopára. Majd húzza a Contacts Extended lekérdezés Contact Name (Kapcsolattartó neve) mezőjét a második oszlopra, és törölje a jelet a Megjelenítés jelölőnégyzetből. Végül húzza az AssignedTo mezőt a harmadik oszlopra.

  8. Ha az alábbihoz hasonlóan nem látszik illesztési vonal a Contacts Extended lekérdezés azonosító mezője és az AssignedTo.Value mező között, az egérgombot lenyomva tartva húzza a Contacts Extended nevű lekérdezés azonosító mezőjét az Issues tábla AssignedTo.Value mezőjére.

    Megjelenik egy illesztési vonal.

    Ha látható más illesztési vonal is, törölje. Az illesztési vonalat úgy törölheti, hogy rákattintással kijelöli, majd lenyomja a DELETE billentyűt.

  9. A lekérdezési rácson a Contact Name mező alatti Feltétel sorban adja meg a „Kelly Rollin” értéket.

    Az AssignedTo mező feltételében a „Kelly Rollin” szöveget tartalmazó lekérdezési rács

  10. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés futtatásakor az eredmény megjelenik az Adatlap nézetben. Megfigyelheti, hogy a lekérdezés csak azokat a sorokat jeleníti meg, amelyekben szerepel a Kelly Rollin név. Ez a módszer azért működik, mert a forrástábla vagy -lekérdezés azonosító mezője és az AssignedTo.Value mező közötti illesztés a többértékű mező minden értékéhez külön sort ad vissza, és minden sor tartalmaz egy teljes nevet megjelenítő Contact name mezőt. A Contact name mező nem keresőmező, hanem számított mező, ezért nincs külön kötött érték és megjelenített érték, csak egy érték – a kapcsolattartó neve. Vagyis megadhatja a keresendő szöveget, ami jelen esetben „Kelly Rollin”.

Az AssignedTo mezőben a „Kelly Rollin” szöveget tartalmazó lekérdezéseredmény

Amikor Tervező nézetben hoz létre egy lekérdezést, az Access automatikusan generálja a megfelelő SQL-utasítást. Az SQL az Access által használt lekérdezőnyelv. Az alábbi eljárással SQL nézetre válthat az SQL-utasítás megtekintése végett.

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.Title, Issues.AssignedTo 
FROM [Contacts Extended] INNER JOIN Issues ON
[Contacts Extended].ID = Issues.AssignedTo.Value
WHERE ((([Contacts Extended].[Contact Name])=
"Kelly Rollin"));

Vissza a lap tetejére

Több érték keresése egy többértékű mezőben

Néha szükség lehet arra, hogy egynél több értéket keressen egy többértékű mezőben. Tegyük fel, hogy szeretné látni azokat az ügyeket, amelyekben „Kelly Rollin” és „Lisa Miller” is szerepel az AssignedTo mezőben. Kelly Rollin kötött értéke 6, Lisa Miller kötött értéke 10. Ha több feltételt szeretne megadni egy többértékű mezőhöz, az AND és az OR operátort használhatja.

A lekérdezés létrehozásához tegye az alábbiakat:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyebek csoportjának Lekérdezéstervező gombjára.

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Issues” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában húzza a Title mezőt a rács első oszlopára, majd az AssignedTo mezőt a másodikra.

  7. A lekérdezési rács, az assignedto mező, a feltétel sorba írja be a 6-os és 10lehetőséget.

    Az AND operátor többértékű mezőben történő használatára példát mutató lekérdezés

  8. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés futtatásakor az eredmény megjelenik Adatlap nézetben.

Az AND operátor többértékű mezőben történő használatára példát mutató lekérdezéseredmény

Az eredmény csak azokat az ügyeket jeleníti meg, amelyekért Kelly Rollin és Lisa Miller is felelős. Amikor Tervező nézetben hoz létre egy lekérdezést, az Access automatikusan generálja a megfelelő SQL-utasítást. Az SQL az Access által használt lekérdezőnyelv. Az alábbi eljárással SQL nézetre válthat az SQL-utasítás megtekintése végett.

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
And (Issues.AssignedTo.Value)=10));

Az OR operátor használata az AND helyett

Tegyük fel, hogy meg szeretné változtatni a lekérdezést úgy, hogy azokat a sorokat listázza, ahol „Kelly Rollin” vagy „Lisa Miller” szerepel. Szerkesztheti úgy az SQL-utasítást, hogy az AND operátor helyett az OR operátort használja. Ezután így kell kinéznie az utasításnak:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
Or (Issues.AssignedTo.Value)=10));

A lekérdezés futtatásakor az eredmény megjelenik Adatlap nézetben.

Többértékű mezővel Or operátort használó lekérdezés

Az eredmény csak azokat az ügyeket jeleníti meg, amelyekhez Kelly Rollin vagy Lisa Miller tartozik.

Vissza a lap tetejére

A .Value mezőnek a mezőlistába való felvételének hatása

Fontos megérteni, hogy milyen hatása van annak, ha felvesz egy .Value mezőt a lekérdezés kimeneti oszlopainak listájába (a SELECT listában). A lekérdezés feldolgozásakor az első lépés az, hogy egy WHERE záradék vagy szűrő hatása nélkül hozzon létre egy eredményhalmazt. A szűrőt ezután erre a kezdeti halmazra alkalmazza. Hasznos lehet ezért, ha úgy gondol erre az eredményhalmazra, hogy először generálja, majd szűkíti a WHERE záradékban használt szűrővel. Vegyük a következő példát:

SELECT Issues.Title, AssignedTo
FROM Issues
WHERE NOT AssignedTo.Value = 3;

A szűrés előtti kezdeti eredményhalmaz a következőképp nézhet ki:

Title

AssignedTo

1. ügy

David Hamilton, Eva Valverde

2. ügy

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

3. ügy

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

4. ügy

Wei Yu, Lisa Miller

5. ügy

David Hamilton, Kathleen Gail Jensen

6. ügy

Sanjay Jacob, Kelly Rollin

7. ügy

Jesper Aaberg, Susan Burk

8. ügy

David Hamilton

9. ügy

Kelly Rollin, Lisa Miller

10. ügy

Eva Valverde, Tom Michaels

Ezután a szűrő lépés végighalad a kezdeti eredményhalmazon, és kiválasztja azokat sorokat, amelyek nem tartalmazzák a 3-as azonosítójú David Hamilton nevet:

Title

AssignedTo

2. ügy

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

3. ügy

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

4. ügy

Wei Yu, Lisa Miller

6. ügy

Sanjay Jacob, Kelly Rollin

7. ügy

Jesper Aaberg, Susan Burk

9. ügy

Kelly Rollin, Lisa Miller

10. ügy

Eva Valverde, Tom Michaels

Most vegyünk egy másik példát – amely a mezőlistában tartalmazza a .Value mezőt. Figyelje meg, hogyan változtatja meg a .Value mező jelenléte a szűrés előtti kezdeti eredményhalmazt:

SELECT Issues.Title, AssignedTo.Value
FROM Issues
WHERE NOT AssignedTo.Value = 3;

A szűrés előtti kezdeti eredményhalmaz a következőképp néz ki:

Title

AssignedTo.Value

1. ügy

David Hamilton

1. ügy

Eva Valverde

2. ügy

Kathleen Gail Jensen

2. ügy

Kelly Rollin

2. ügy

Lisa Miller

2. ügy

Bedecs Anna

3. ügy

Eva Valverde

3. ügy

Jesper Aaberg

3. ügy

Kelly Rollin

3. ügy

Tom Michaels

4. ügy

Lisa Miller

4. ügy

Wei Yu

5. ügy

David Hamilton

5. ügy

Kathleen Gail Jensen

6. ügy

Kelly Rollin

6. ügy

Sanjay Jacob

7. ügy

Jesper Aaberg

7. ügy

Bedecs Anna

8. ügy

David Hamilton

9. ügy

Kelly Rollin

9. ügy

Lisa Miller

10. ügy

Tom Michaels

10. ügy

Eva Valverde

Ezután a szűrő lépés végighalad a kezdeti eredményhalmazon, és csak azon sorokat választja ki, amelyek nem tartalmazzák a 3-as azonosítójú David Hamilton nevet:

Title

AssignedTo.Value

1. ügy

Eva Valverde

2. ügy

Kathleen Gail Jensen

2. ügy

Kelly Rollin

2. ügy

Lisa Miller

2. ügy

Bedecs Anna

3. ügy

Eva Valverde

3. ügy

Jesper Aaberg

3. ügy

Kelly Rollin

3. ügy

Tom Michaels

4. ügy

Lisa Miller

4. ügy

Wei Yu

5. ügy

Kathleen Gail Jensen

6. ügy

Kelly Rollin

6. ügy

Sanjay Jacob

7. ügy

Jesper Aaberg

7. ügy

Bedecs Anna

9. ügy

Kelly Rollin

9. ügy

Lisa Miller

10. ügy

Tom Michaels

10. ügy

Eva Valverde

A szűrő alkalmazása előtti és utáni eredményhalmaz megjelenítése általában könnyebben előreláthatóvá teszi a lekérdezés eredményét.

Vissza a lap tetejére

Számlálás, csoportosítás és más összegző függvények használata

Előfordulhat, hogy számításokat szeretne végezni azoknak az értékeknek a csoportjain, amelyeket a többértékű mező tárol. Hány ügy tartozik például egy munkatárshoz? Hány munkatárs van az egyes ügyekhez rendelve? Az ilyen számításokat úgy hajthatja végre, hogy összegző függvényeket használ egy összegző lekérdezésben.

Az összegző lekérdezés az értékek egy csoportján végez számításokat, majd egyetlen értéket ad vissza. A Sum, az Avg, a Count például összegzések számítására használható összegző függvény. Összegezhet az összes rekordra vagy a rekordok egy csoportjára. Csoport szerinti összesítéshez ki kell választani a csoportosítás alapját képező mezőt vagy mezőket a lekérdezéstervező rácson.

Az alábbi eljárás azt mutatja, hogyan hozhat létre egy lekérdezést az egyes munkatársakhoz tartozó ügyek számának megszámolására.

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában a AssignedTo.Value mezőt kell a rács első oszlopára húzni, majd a Title mezőt a második oszlopra.

  7. Kattintson a Tervezés lap Megjelenítés/elrejtés csoportjának Összesítés gombjára.

    Az Összesítés sor megjelenik a tervezőrácson. Alapértelmezés szerint megjelenik a Csoportosítás a lekérdezés mezőinek Összesítés cellájában.

  8. A tervezőrácson, a Title alatti Összesítés sorban kattintson a Count lehetőségre.

  9. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés tervezésekor megadja, hogy mely mezőket használja csoportosításra, és melyeket összegzésre (a számításoknál). A példában az AssignedTo.Value mezőt használta csoportosításra, és a Title mezőt összegzésre. Azoknál a mezőknél, amelyeket csoportosításban szeretne használni, az összesítés sorban válassza a Group by elemet. Azoknál a mezőknél, amelyeket összegző számításoknál szeretne használni, az Összesítés sorban válasszon egy számítási módot (például Sum vagy Avg). Megjegyezzük, hogy amikor egy többértékű mezőt szeretne csoportosításra használni, a .Value mezőt kell használni. Ebben a példában nem használhatja a .Value mezőt csoportosításra – az AssignedTo.Value mezőt kell használni. Akkor is a .Value mezőt kell használni, amikor rendezésre használ egy többértékű mezőt.

Megjegyzés : Amikor egy többértékű mezőt csoportosításra használ, a .Value mezőt kell használni. Amikor egy többértékű mezőt rendezésre használ, a .Value mezőt kell használni.

A lekérdezés futtatásakor az eredmény megjelenik Adatlap nézetben.

Az egyes munkatársakhoz rendelt ügyeket megszámoló lekérdezés

Hogy lássa a lekérdezés SQL-utasítását, az alábbi eljárással váltson SQL nézetre:

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.AssignedTo.Value, 
Count(Issues.Title) AS CountOfTitle
FROM Issues
GROUP BY Issues.AssignedTo.Value;

Tegyük fel, hogy tudni szeretné, hány munkatárs tartozik az egyes ügyekhez. Csoportosíthat a Title mező szerint, és a Count függvényt választhatja a többértékű mező számításainak elvégzésére. A lekérdezés létrehozásához tegye az alábbiakat:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a többértékű mezőt tartalmazó táblára (jelen esetben az „Ügyek” táblára) a Tábla megjelenítése párbeszédpanelen, majd a Hozzáadás gombra.

  5. Kattintson a Bezárás gombra.

  6. A lekérdezésben használni kívánt mezőket húzza a tervezőrácsra. Ebben a példában a Title mezőt kell a rács első oszlopára húzni, majd az AssignedTo mezőt a második oszlopra.

  7. Kattintson a Tervezés lap Megjelenítés/elrejtés csoportjának Összesítés gombjára.

    Az Összesítés sor megjelenik a tervezőrácson. Alapértelmezés szerint megjelenik a Group By a lekérdezés Title mezőjének Összesítés cellájában. Alapértelmezés szerint megjelenik a Kifejezés az AssignedTo mező Összesítés cellájában – ez azért van így, mert többértékű mezőn nem végezhet Group By műveletet. Ilyet csak többértékű .Value mezőn végezhet.

  8. A tervezőrácson, az AssignedTo mező alatti Összesítés sorban kattintson a Count lehetőségre.

  9. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

A lekérdezés futtatásakor az eredmény megjelenik Adatlap nézetben.

Az egyes ügyekhez tartozó munkatársak számát mutató lekérdezéseredmény

Hogy lássa a lekérdezés SQL-utasítását, az alábbi eljárással váltson SQL nézetre:

  1. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  2. Kattintson az SQL nézet parancsra.

Az SQL-utasítás a következőképpen néz ki:

SELECT Issues.Title, 
Count(Issues.AssignedTo) AS CountOfAssignedTo
FROM Issues
GROUP BY Issues.Title;

Megjegyzés : Ebben az SQL SELECT utasításban nem számít, hogy a Count(Issues.AssignedTo) vagy a Count(Issues.AssignedTo.Value) kifejezést használja – az eredmény ugyanaz.

Vissza a lap tetejére

Hozzáfűző lekérdezés használata többértékű mezővel

Beszúró lekérdezéssel beszúrhat egyetlen értéket egy többértékű mezőbe. Tegyük fel például, hogy szeretné a „Kelly Rollin” nevű alkalmazottat egy ügy AssignedTo mezőjéhez adni. Először meghatározná az ügy és Kelly névjegy rekordjának elsődlegeskulcs-értékét. Tegyük fel, hogy az ügy értéke 10, Kelly névjegyé pedig 6.

Az alábbi eljárás azt mutatja, hogyan hozza létre a lekérdezést:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyéb csoportjának Lekérdezéstervező parancsára.

    Kép az Access-menüszalagról

  4. Kattintson a Tábla megjelenítése párbeszédpanel Bezárás gombjára.

  5. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  6. Kattintson az SQL nézet parancsra.

  7. SQL nézetben adja meg a következő SQL-utasítást:

    INSERT INTO Issues ( AssignedTo.[Value] )
    VALUES (6)
    WHERE ID = 10;
  8. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

    Az Access kérheti, hogy erősítse meg a kijelölt sor hozzáfűzését. A sor beszúrásához kattintson az Igen gombra, vagy a Nem gombra a visszavonáshoz.

Kelly most már az ügy AssignedTo részében jelenik meg. Ez a beszúró lekérdezés egyetlen formája, amely működik a többértékű mezőkkel.

Megjegyzés : A hozzáfűző lekérdezést arra használhatja, hogy egy tábla rekordjait egy másik tábla rekordjaihoz adja. Az Office Access 2007 alkalmazásban nem használhat többértékű mezőt tartalmazó táblára hivatkozó lekérdezést. A következő lekérdezés például nem érvényes:

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

Vissza a lap tetejére

Frissítő lekérdezés használata többértékű mezővel

A frissítő lekérdezésekkel a meglévő rekordok adatait lehet megváltoztatni. Amikor egy frissítő lekérdezéssel frissít egy többértékű mezőt tartalmazó táblát, megváltoztathatja egy többértékű mező egy értékét valami másra. Tegyük fel, hogy frissíteni szeretné egy ügy AssignedTo nevű többértékű mezőjét – lecserélni például a „Kelly Rollin” nevet a „Lisa Miller” névre. Először meghatározza az ügy, illetve Kelly és Lisa névjegyrekordjának elsődlegeskulcs-értékét. Tegyük fel, hogy ez az érték az ügy esetében 8, Kelly értéke 6, Lisa értéke 10.

Az alábbi eljárás azt mutatja, hogyan hozza létre a lekérdezést:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyebek csoportjának Lekérdezéstervező gombjára.

  4. Kattintson a Tábla megjelenítése párbeszédpanel Bezárás gombjára.

  5. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  6. Kattintson az SQL nézet parancsra.

  7. SQL nézetben adja meg a következő SQL-utasítást:

    UPDATE Issues 
    SET Issues.AssignedTo.Value = 10
    WHERE (((Issues.AssignedTo.Value)=6)
    AND ((Issues.ID)=8));

    Megjegyzések: 

    • Mindig célszerű WHERE záradékot használni, amely csak a frissíteni kívánt rekordokat azonosítja. Ellenkező esetben nem kívánt rekordokat is frissíthet. A WHERE záradékot nem tartalmazó frissítő lekérdezések a tábla összes sorát frissítik.

    • Egy frissítendő értéket is megadhat.

  8. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

    Az Access kérheti, hogy erősítse meg a kijelölt rekord frissítését. A sor frissítéséhez kattintson az Igen gombra, vagy a Nem gombra a visszavonáshoz.

Az adott ügy AssignedTo mezőjében most már Lisa Miller jelenik meg Kelly Rollin helyett.

Vissza a lap tetejére

Törlő lekérdezés használata többértékű mezővel

Törlő lekérdezést használhat rekordok táblából történő törlésére. Amikor többértékű mezőt tartalmazó táblával dolgozik, törlő lekérdezést használhat egy többértékű mezőben adott értéket tartalmazó rekordok törlésére vagy egy többértékű mező egy értékének a tábla összes sorából történő törlésére.

Tegyük fel, hogy az Assigned táblából teljesen törölni szeretné a „Kelly Rollin” nevet. Az alábbi eljárással hozhat létre egy lekérdezést:

  1. Kattintson a Microsoft Office gombra Gombkép , majd a Megnyitás gombra.

  2. Jelölje ki az adatbázist a Megnyitás párbeszédpanelen, és nyissa meg.

  3. Kattintson a Létrehozás lap Egyebek csoportjának Lekérdezéstervező gombjára.

  4. Kattintson a Tábla megjelenítése párbeszédpanel Bezárás gombjára.

  5. Kattintson a Tervezés lap Eredmények csoportjának Nézet gombja alatti nyílra, hogy megjelenjen a Nézet menü.

  6. Kattintson az SQL nézet parancsra.

  7. SQL nézetben adja meg a következő SQL-utasítást:

    DELETE Issues.AssignedTo.Value
    FROM Issues
    WHERE (((Issues.AssignedTo.Value)=6));
  8. A lekérdezés futtatásához kattintson a Tervezés lap Eredmények csoportjának Futtatás gombjára.

    Az Access kérheti, hogy erősítse meg a kijelölt rekordok törlését. A rekordok törléséhez kattintson az Igen gombra, vagy a Nem gombra a visszavonáshoz.

A következő példalekérdezés nem töröl rekordokat az Issues táblából. Az AssignedTo többértékű mezőből töröl egy értéket minden rekordban, ahol az érték előfordul. Ha az Issues táblából szeretné törölni rekordokat, ne adjon meg mezőt a DELETE záradék után az SQL-utasításban. Ha például szeretné törölni az összes olyan ügyet, amely tartalmazza a „Kelly Rollin” nevet az ügyhöz tartozó személyek listájában, adja meg az alábbi lekérdezést:

DELETE 
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Megjegyzés : Járjon el körültekintően, amikor törlő lekérdezéssel töröl rekordokat. A rekordokat törlésük után nem lehet helyreállítani.

Vissza a lap tetejére

Megjegyzés : Gépi fordítás jognyilatkozata: Ez a cikk számítógép által, emberi közreműködés nélkül lett lefordítva. A Microsoft ezeket a gépi fordításokat azért nyújtja, hogy az angol nyelvet nem beszélők minél több tartalomhoz tudjanak hozzáférni a Microsoft termékeivel, szolgáltatásaival és technológiáival kapcsolatban. A gépi fordítás miatt előfordulhat, hogy a szöveg szóhasználati, szintaktikai vagy helyesírási hibákat tartalmaz.

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×