Az adatok általában könnyebben elemezhetők, ha csoportokra osztják őket. Például egy jelentés, amely régiók szerint csoportosítja az értékesítéseket, segíthet felismerni azokat a trendeket, amelyek egyébként észrevétlenek maradnának. Ezen túlmenően, ha összegeket (például összegeket vagy átlagokat) helyez el a jelentésben az egyes csoportok végére, akkor a számológépes munka jelentős részét helyettesíti.

Az Access megkönnyíti a csoportosított jelentések kezelését. Létrehozhat egyszerű csoportosított jelentést a Jelentésvarázsló segítségével, csoportosítást vagy rendezést adhat hozzá egy már létrehozott jelentéshez, vagy módosíthatja a már beállított csoportosítási vagy rendezési beállításokat.

Jegyzet: A cikk nem vonatkozik az Access webalkalmazásokra, egy új típusú adatbázisra, amelyet az Accessben hoznak létre és tesznek közzé az interneten.

Ebben a cikkben

Hozzon létre egy összefoglaló jelentést csoportosítással vagy rendezéssel

Még akkor is, ha most először hoz létre csoportos jelentéseket, gyorsan létrehozhat egy egyszerű jelentést a következők végrehajtásával:

Csoportosított jelentés készítése a Jelentésvarázsló segítségével

A Jelentésvarázsló kérdéseket tesz fel, és a válaszok alapján jelentést készít. Az egyik megemlíti azokat a mezőket, amelyek szerint csoportosítani kíván a jelentésben. A jelentés létrehozása után felhasználhatja úgy, ahogy van, vagy módosíthatja az igényeinek megfelelően. A jelentésvarázsló elindítása előtt döntse el az adatforrás kiválasztását.

A Jelentésvarázsló indítása

Rekordok csoportosítása a Jelentésvarázsló segítségével

A csoportosítás lehetővé teszi a bejegyzések csoportok szerinti rendezését (például régió vagy eladó szerint). A beágyazott csoportok megkönnyítik a csoportok közötti kapcsolatok meghatározását, és gyorsan megtalálják a szükséges adatokat. A csoportosítással összefoglalókat is kaphat, például összegeket vagy százalékokat.

Ha több táblát is tartalmaz egy jelentésben, a varázsló megvizsgálja a köztük fennálló kapcsolatokat, és meghatározza, hogyan tekintheti meg az adatokat.


Rekordok rendezése, összesítése

A rekordokat 1-4 mező szerint növekvő vagy csökkenő sorrendbe rendezheti.


A nézetablak alján található navigációs gombok segítségével egymás után görgetheti a jelentés oldalait, vagy navigálhat annak bármelyik oldalára. Nyomja meg az egyik navigációs gombot, vagy írja be a kívánt oldalszámot az oldalszám beviteli mezőbe, majd nyomja meg az ENTER billentyűt.

Előnézet módban nagyíthat a részletek megtekintéséhez, vagy kicsinyíthet az oldalon lévő adatok helyének megtekintéséhez. Kattintson egyszer, amikor az egérmutató a jelentésre mutat. A nagyítási hatás törléséhez kattintson újra. Használhatja az állapotsoron található zoomvezérlőt is.

Csoportosítás és rendezés hozzáadása vagy módosítása egy meglévő jelentésben

Ha már van egy jelentés, és hozzá kell adni a rendezést, csoportosítást, vagy módosítani kell benne a rendezési, csoportosítási feltételeket, ebben a rész segít.

Csoportosítás, rendezés és összesítés hozzáadása

A rendezési, csoportosítási és összegzési műveleteket úgy végezheti el, hogy jobb gombbal kattint a mezőkre az Elrendezés nézetben, majd kiválasztja a kívánt műveletet a helyi menüből. Az elrendezés nézetre való váltáshoz kattintson a jobb gombbal a jelentésre a navigációs ablakban, és válassza a lehetőséget Elrendezés mód.

Jegyzet: Bár az ebben a szakaszban található utasítások nem beszélnek kifejezetten a területről, javasoljuk, hogy nyissa meg, és figyelje a változásait munka közben. Jobban megértheti az Access-műveleteket, és miután elsajátította a hatókörrel való munkát Csoportosítás, rendezés és összesítés, segítségével tovább módosíthatja a jelentést. A panel megjelenítéséhez Csoportosítás, rendezés és összesítés:

    lapon Konstruktőr csoportban Csoportosítás és összesítés kattintson Csoportosítás és rendezés.

Rendezés egy mező szerint

    Kattintson a jobb gombbal a rendezni kívánt mező bármely értékére.

    Válassza ki a kívánt rendezési lehetőséget a helyi menüből. Például egy szövegdoboz növekvő sorrendbe rendezéséhez kattintson a gombra Rendezés A-tól Z-ig. A numerikus mezők csökkenő sorrendbe rendezéséhez kattintson a gombra Csökkenő rendezés.

Az Access az Ön által megadott módon rendezi a jelentést. Ha a terület Csoportosítás, rendezés és összesítés már nyitva van, észreveheti, hogy egy új sor került a mezőbe Válogatás.

Rendezés több mező szerint

Jegyzet: Ha úgy alkalmaz rendezést, hogy rákattint egy mezőre az Elrendezés nézetben, egyszerre csak egy mezőt rendezhet. Ha egy rendezést egy másik mezőre alkalmaz, az eltávolítja a rendezést az első mezőben. Ez eltér az űrlapokon való rendezési módtól, ahol több rendezési sorrendet is beállíthat úgy, hogy az egyes mezőkre egymás után kattint, és kiválasztja a kívánt rendezési sorrendet. Ha több mezőhöz rendezési szintet szeretne létrehozni, lásd: .

Csoportosítás mezőnként

    Kattintson a jobb gombbal bármely értékre abban a mezőben, amely alapján csoportosítani szeretne.

    A helyi menüből válassza ki a lehetőséget csoportosítás.

Az Access hozzáad egy csoportosítási szintet, és létrehoz egy csoportfejlécet. Ha a terület Csoportosítás, rendezés és összesítés már nyitva van, látni fogja, hogy egy új sor került a mezőbe csoportosítás.

Összeg hozzáadása egy mezőhöz

Ez az opció lehetővé teszi az összeg, az átlag, a szám vagy más statisztikai mezők kiszámítását. A teljes érték hozzáadódik a jelentés végéhez, a csoportösszegek pedig a jelentéscsoportokhoz.

    Kattintson a jobb gombbal bármely olyan értékre a mezőben, amelyre ki szeretné számítani az összeget.

    Kattintson Eredmény.

    Válassza ki a végrehajtandó műveletet: Összeg, Az átlagos, Rekordok száma(az összes bejegyzés megszámlálásához), Értékek száma(csak az adott mezőértékkel rendelkező rekordok számításához), Maximális, Minimális, Szórás vagy Diszperzió.

Az Access egy vezérlőelemet ad a jelentés fejlécéhez, például egy kiszámított szöveget, amely összegzi a végösszeget. Ha a jelentés csoportosítási szinteket tartalmaz, az Access csoportfejléceket ad hozzá (ha nincsenek ilyenek), és minden fejlécben elhelyezi a teljes értéket.

Jegyzet:Összegeket is hozzáadhat, ha arra a mezőre kattint, amelyre ki szeretné számítani, és a fülre kattint Konstruktőr csoportban Csoportosítás és összesítés kattintással Eredmények.

Csoportosítást, rendezést és összesítést adjon hozzá a Csoportosítás, rendezés és összesítés panelen

Munka a területtel Csoportosítás, rendezés és összesítés a legnagyobb rugalmasságot biztosítja, amikor csoportokat, rendezési sorrendet vagy összesítési beállításokat kell hozzáadnia vagy módosítania a jelentésben. Ugyanakkor a Layout view-val a legkényelmesebb dolgozni, mivel sokkal könnyebben látható, hogy a változtatások milyen hatással vannak az adatok megjelenítésére.

A rendezési, csoportosítási és összesítési terület megjelenítése

    A lapon Konstruktőr csoportban Csoportosítás és összesítés kattintson Csoportosítás és rendezés.

    Az Access megjeleníti a területet Csoportosítás, rendezés és összesítés.

Csoportosítási vagy rendezési szint hozzáadásához kattintson a gombra Csoportosítás hozzáadása vagy Rendezés hozzáadása.

Területre Csoportosítás, rendezés és összesítés egy új sor kerül hozzáadásra, és megjelenik a rendelkezésre álló mezők listája.

Kattintson a mezőnevek egyikére, vagy kifejezés kifejezések megadásához a mezők listája alatt. Amint rákattint egy mezőre vagy beír egy kifejezést, az Access egy csoportosítási szintet ad a jelentéshez. Elrendezés nézetben azonnal megjelenik a rendezési vagy csoportos sorrend.

A kifejezések létrehozásával és használatával kapcsolatos további információkért tekintse meg a Kifejezések létrehozása című cikket.

Megjegyzések:

    A rendezés vagy csoportosítás több szintjének megadása után előfordulhat, hogy le kell görgetnie a területet Rendezés, csoportosítás és összesítés gombok megtekintéséhez Csoportosítás hozzáadásaés Rendezés hozzáadása.

    Egy jelentéshez legfeljebb tíz rendezési és csoportosítási szintet rendelhet.

Csoportosítási beállítások módosítása

A csoportosítás vagy rendezés minden szintje egy sor lehetőséget tartalmaz, amelyek segítségével elérheti a kívánt eredményeket.


A rendezési sorrend. A rendezési sorrendet úgy módosíthatja, hogy a megfelelő legördülő listára kattint, és kiválasztja a kívánt lehetőséget.

Csoportosítási intervallum. Ez a beállítás határozza meg a rekordok csoportosításának módját. Például a szövegmezők csoportosíthatók az első karakterük alapján (ha „A”, „B” stb. betűvel kezdődnek). A dátum mezőket csoportosíthatja nap, hét, hónap, negyedév szerint, vagy megadhatja a saját intervallumát.

Eredmények.Összesítés hozzáadásához kattintson erre a lehetőségre. Összesítéseket adhat hozzá több mezőhöz, és több típusú összeget is kiszámíthat egyetlen mezőhöz.

    Összesen mezőnkéntés válassza ki azt a mezőt, amelyre az összegeket ki szeretné számítani.

    Kattintson a legördülő nyílra Egy típusés válasszon fizetési módot.

    Válassza ki Végösszeg megjelenítése végösszeg hozzáadásához a jelentés végéhez (a fejlécéhez).

    Válassza ki Csoportösszeg és végösszeg megjelenítése egy vezérlő hozzáadásához a csoport fejlécéhez, amely kiszámítja az egyes csoportok végösszegének százalékos arányát.

    Válassza ki Megjelenítés a csoportfejlécben vagy Megjelenítés a csoportfejlécben a végösszeg megjelenítéséhez a kívánt helyen.

Miután kiválasztotta a mező összes beállítását, megismételheti a folyamatot úgy, hogy kiválaszt egy másik mezőt a legördülő listából Összesen mezőnként, vagy kattintson a felugró ablakon kívülre Eredmények bezárni.

Név. Lehetővé teszi annak a mezőnek a címének megváltoztatását, amelyre a teljes érték számít. Az oszlopfejléchez, valamint a fejlécek és láblécek összefoglaló mezőihez használatos.

Cím hozzáadásához vagy módosításához:

    kattintson a felirat utáni kék szövegre címmel;

    párbeszédpanel jelenik meg Skála;

    írjon be egy új címet a párbeszédpanelbe, majd kattintson a gombra rendben.

Fejlécszekcióval/nélkül. Ezzel a beállítással hozzáadhat vagy eltávolíthat egy fejlécrészt, amely minden csoport előtt található. Fejlécszakasz hozzáadásakor az Access a csoportosítási mezőt a fejlécbe helyezi. A csoportdoboztól eltérő vezérlőket tartalmazó fejlécszakasz eltávolítása előtt az Access megerősítést kér.

Szakaszjegyzetekkel / anélkül. Ezzel a lehetőséggel fejléc- és láblécszakaszt adhat hozzá vagy távolíthat el minden csoport után. Mielőtt törölne egy vezérlőket tartalmazó fejlécet vagy láblécrészt, az Access megerősítést kér.

Egy csoport megszakítás nélküli ábrázolása. Ez az opció határozza meg, hogy a csoportok hogyan helyezkedjenek el az oldalon a jelentés nyomtatásakor. Érdemes lehet a csoportokat a lehető legközelebb egymáshoz elhelyezni, hogy könnyebben megtekinthesse az oldalon. Ez azonban általában megnöveli a papírfelhasználást a jelentés kinyomtatása során, mivel a legtöbb oldal alján üres hely marad.

    Ne tartsa egy oldalon a csoportot. Használja ezt a lehetőséget, ha nem érdekli a csoportok oldaltöréseken elfoglalt helyzete. Például egy 30 elemből álló csoport 10 eleme egy oldal alján, a maradék 20 pedig a következő oldal tetején lehet.

    Tartsa a csoportot ugyanazon az oldalon. Ez a beállítás segít minimalizálni az oldaltörések számát egy csoportban. Ha a csoport nem fér el az oldal fennmaradó részén, az Access üresen hagyja ezt a helyet, és a csoportot a következő oldalra helyezi. A nagy csoportok továbbra is több oldalra terjedhetnek ki, de ez a beállítás minimálisra csökkenti az ilyen eseteket.

    A cím és az első bejegyzés maradjon ugyanazon az oldalon. Biztosítja, hogy a csoport fejléce ne legyen külön nyomtatva magától a csoporttól az oldal alján. Ha az Access megállapítja, hogy nincs elég hely a fejléc után legalább egy sor kinyomtatásához, a csoport a következő oldaltól kerül nyomtatásra.

Módosítsa a csoportosítási és rendezési szintek prioritását

A prioritás módosításához kattintson egy sorra a területen Csoportosítás, rendezés és összesítés, majd a sor jobb oldalán található fel vagy le nyílra.

Csoportosítási és rendezési szintek eltávolítása

Szint törléséhez a területen Csoportosítás, rendezés és összesítés válassza ki a törölni kívánt sort, majd nyomja meg a DELETE gombot vagy a gombot Töröl a vonaltól jobbra. Ha eltávolít egy csoportosítási szintet, és a csoportfejléc vagy lábléc tartalmazott csoportosítási mezőt, az Access áthelyezi azt a jelentés részletei szakaszba. Az összes többi vezérlőelem eltávolításra kerül.

Összefoglaló jelentés létrehozása (rekord részletei nélkül)

Ha csak az összegeket szeretné megjeleníteni (a fejléc- és láblécsorban lévő adatokat), a lapon Konstruktőr csoportban Csoportosítás és összesítés kattintson Rejtett részletek. Ez elrejti a következő alacsonyabb szintű csoportosítás rekordjait, és az összegek kompaktabban jelennek meg. Bár a bejegyzések el vannak rejtve, a rejtett rész vezérlői nem kerülnek eltávolításra. Kattintson Rejtett részletek ismételten, hogy visszaadja a részletező sorokat a jelentésbe.

A lekérdezés lehetővé teszi az azonos csoportokhoz tartozó adatok összegzését: számuk, összegük, átlaguk, maximum és minimum értékük megszámlálását.

Gyakorlat: hozzon létre egy lekérdezést, amely az egyes számlákhoz számolja a cikkek teljes számát és a beérkezett áruk teljes mennyiségét.

Vegye figyelembe a táblázat adatait " áru átvétele"(13. ábra). A táblázat oszlopértékei megegyeznek Számlaszám többször megismételhető (attól függően, hogy hány áru érkezett a számlán). Létre kell hoznia egy lekérdezést, amely az azonos számú számlákhoz összesíti az áruk mennyiségét.

ábra szerinti lekérdezés eredményének jobb megértése érdekében. 13, jobb oldalon, göndör zárójelben kiszámolja azokat a tételeket, amelyeknél a számlaszámok egyeznek, valamint a tételek teljes számát és a teljes mennyiséget.

Rizs. tizenhárom. "Áru átvétele" táblázat

Működési eljárás:

1. Be navigációs ablak van kiválasztva Tárgykategória - Objektum típusa, és a részben Csoportszűrő kapcsoló telepítve van Kérések. A szakaszban lévő szalagon Teremtés csoportban Kérések gombot megnyomják Lekérdezéskészítő.

2. A párbeszédpanelen Táblázatok hozzáadása, a táblák ki vannak választva, az adatok, amelyekből meg kívánjuk jeleníteni a lekérdezésben (" áru átvétele") és megnyomja a gombot Hozzáadás.

3. Megjelenik a képernyőn a lekérdezéstervező ablak, amely két részből áll: a felső rész táblázatelrendezéseket jelenít meg, az alsó pedig a lekérdezési paraméterek meghatározására szolgáló részt.

Azok a mezők a lekérdezési paraméterek részhez kerülnek, amelyek értékét a lekérdezés végrehajtása eredményeként meg kell jeleníteni (14. ábra). (A lekérdezéshez hozzáadhat egy mezőt, ha duplán kattintson a nevére a lekérdezési ablak tetején található megfelelő táblázatban).

5. A lekérdezés Tervezési módban való megvalósításához az eszköztár gombjának megnyomásával egy további sor, Csoportműveletek sor kerül hozzáadásra (14. ábra).

A mező alatt számlaszám Sorban Csoportműveletek csapatot választják ki csoportosítás(az azonos számú számlák csoportosítva vannak), a mező alatt Termékkód Sorban Csoportműveletek csapatot választják ki Számol(szám) és a mező alatt Mennyiség - csapat Összeg ( mennyiség összegezve). A csoportosítási lekérdezésben használt műveleteket a 2. táblázat írja le.

A lekérdezés végrehajtásának eredménye az ábrán látható. 15. (hasonlítsa össze az eredményt a 13. ábra adataival).


2. táblázat Csoportműveletek

Művelet neve

Jelentése

Összegzés

Átlagos

Minimális érték

Maximális érték

Elemek száma egy oszlopban

Utolsó elem

Első elem

Feltétel

Egy logikai kifejezésre mutat

Kifejezés

Azt jelzi, hogy a mező egy számított

6.1. Számított mezők.

6.2. Kifejezések létrehozása a Kifejezéskészítővel.

6.3. Az MS Access DBMS beépített funkcióinak áttekintése.

6.4. Végső kérések.

6.5. keresztkérések.

Nagyon gyakran rekordhalmaz kialakításakor számításokat kell végezni az adatokon (meg kell határozni a munkavállaló életkorát, rendelési értékét, eladási százalékát, kiválasztani a cikkkód egy részét stb., azaz olyan információkat kell megjeleníteni, amelyek nem tárolódnak az adatbázis) vagy a kiválasztott adatok közvetlen feldolgozására bizonyos műveleteket hajtanak végre.

A QBE DBMS MS Accessben az ilyen képességeket számított mezők és csoportműveletek biztosítják.

6.1. Számított mezők

A számított mező operátorokból (számtani, összehasonlítás, logikai, összefűzés) és operandusokból álló kifejezés. Az operandusok lehetnek például konstansok, beépített vagy felhasználó által definiált függvények és azonosítók

Költség: Áru! Ár * Mennyiség * (1 kedvezmény)

Férfiak száma: Összeg(IIf(nem = "m"; 1; 0))

Teljes név: Vezetéknév &" "& Bal(Keresztnév;1) &". "& Bal(Középnév;1) &"."

A költség, a férfiak száma és a teljes név a számított mezők nevei, és a táblázat nézetben az oszlopfejlécben jelennek meg, a kettőspont szimbólum elválasztóként működik a számított mezőnév és a kifejezés között.

Ha a tábla vagy a mező neve szóközt tartalmaz, akkor az azonosítóját szögletes zárójelek közé kell tenni a kifejezésben, pl.

Költség: Ár*[áru mennyisége]

Egy számított mező közvetlenül a QBE űrlapon jön létre egy kifejezés cellába való beírásával Terület bármely szabad oszlop. A mezőben megjelenített számítási eredmények nem kerülnek tárolásra az alapul szolgáló táblázatban. A számítások minden egyes lekérdezés végrehajtásakor újra megtörténik, így az eredmények mindig az adatbázis aktuális tartalmát reprezentálják.

A számított eredmények manuálisan nem frissíthetők.

Összetett kifejezések létrehozásához az MS Access DBMS tartalmaz egy ún. segédprogramot Kifejezésépítő.

6.2. Kifejezések létrehozása a Kifejezéskészítővel

A kifejezéskészítő a gombra kattintva indítható el Épít az eszköztáron Lekérdezéskészítő vagy a QBE kérőlap mező helyi menüjének menüparancsának kiválasztásával Épít….

6.2. ábra. Kifejezéskészítő párbeszédpanel
kialakított kifejezéssel

6.3. A beépített DBMS-funkciók áttekintéseKISASSZONY Hozzáférés

Az MS Access DBMS több mint 100 beépített függvényt tartalmaz (6.3. ábra), amelyek felhasználhatók számított mező generálásakor vagy kiválasztási feltétel beállításakor.

A hónap napjának értékét adja vissza 1 és 31 között

A hónap értékét adja vissza 1 és 12 között

Hónapnév(hónap[; zászló])

A hónap számának megfelelő hónap nevét adja vissza: 1 - Január, 2 - Február stb. Ha az argumentumjelző értéke True, akkor a függvény a hónap rövidítését adja vissza: 1 - január, 2 - február, stb.

100 és 9999 közötti éves értéket ad vissza

Hétköznap(dátum[; szám])

Ha a szám nincs megadva, visszaadja a hét napját 1-től (vasárnap) 7-ig (szombat). Ha a szám 0, visszaadja a hét napját 1-ről (hétfő) 7-re (vasárnap)

Egy 0 és 23 közötti egész számot ad vissza, amely az óra értékét jelenti

DatePart(intervallum; dátum)

Egy numerikus értéket ad vissza az intervallum argumentum értéke alapján:

"q" - negyed (1-től 4-ig);

"m" – hónap (1-től 12-ig);

"yyyy" – év (100-tól 9999-ig);

"ww" – hét (1-től 53-ig);

stb. (lásd a funkció súgóját).

Az aktuális rendszerdátumot adja vissza

A 6.1. táblázat folytatása

Leírás

Bal(szöveg; n)

A szöveges argumentum bal n karakterét adja vissza

jobb (szöveg; n)

A szöveges argumentum n jobb karakterét adja vissza

Közép(szöveg; kezdő_pozíció[; n])

n karaktert ad vissza a szöveges argumentum start_pos pozíciójától kezdve. Ha az n argumentum nincs megadva, akkor az összes karaktert visszaadja a karakterlánc végéig, a szöveges argumentum start_pos helyétől kezdve.

A szöveges argumentumban szereplő karakterek számát (karakterlánc hosszát) adja vissza

Ltrim(szöveg)

A szöveges argumentum karakterlánc-értékét adja vissza szóközök nélkül

Rtrim(szöveg)

A szöveges argumentum karakterlánc-értékét adja vissza szóközök nélkül

trim (szöveg)

A szöveges argumentum karakterlánc-értékét adja vissza kezdő és záró szóközök nélkül

A szám argumentum karakterlánc-értékét adja vissza

Formátum (változó; formátum)

A változó argumentum értékét adja vissza a format argumentum által megadott formátumban

6.3. Összefoglaló kérések

Az adatok elemzésekor nagyon gyakran nem az egyes rekordok érdeklik, hanem az adatcsoportok összértékei, például:

A Partnerekkel egy bizonyos időtartamra lebonyolított tranzakciók száma;

Átlagos eladások minden hónapban az előző évre vonatkozóan.

Az ilyen kérdésekre a választ a végső lekérdezés adja meg.

Az összérték kiszámításához nyomja meg a gombot Csoportműveletek az eszköztáron Lekérdezéskészítő hogy a sor QBE formában jelenjen meg Csoportos működés(a táblázat neve után).

Alapértelmezés szerint a kérési űrlapon megadott minden mezőnél az érték a következőre van állítva csoportosítás(az eredményeket nem összesítjük).

Összefoglalva, ki kell cserélni a telepítést csoportosítás egy adott végfunkcióhoz. Az MS Access DBMS 9 olyan funkciót biztosít (6.2. táblázat), amelyek biztosítják a csoportműveletek végrehajtását.

6.2. táblázat

Célja

Egy értékkészlet összegét adja eredményül

Egy értékkészlet számtani középértékét adja eredményül

Egy értékkészlet legkisebb értékét adja vissza

Egy értékkészletből a legnagyobb értéket adja vissza

A rekordok számát adja vissza egy nem nulla értékkészletben

Egy csoport mezőjének első értékét adja vissza

Egy csoport mezőjének utolsó értékét adja vissza

Egy értékkészlet szórását adja eredményül

Egy értékkészlet szórását adja vissza

Csoportos működés telepítés van Kifejezés. Ez a beállítás akkor kerül alkalmazásra, ha a kifejezés (string Terület) számos összefoglaló függvényt használnak.

String legördülő menü Csoportos működés telepítés van Feltétel. Ez a beállítás akkor használatos, ha a Kijelölési feltétel sorba egy kiválasztási feltételt írnak, de az oszlop (mező) adatok nem vehetnek részt a csoportműveletben.

Az összetettebb statisztikai problémák megoldására az MS Access DBMS egy speciális lekérdezési típust – keresztlekérdezéseket – biztosít.

6.4. Keresztlekérdezések

Keresztlekérdezés egy speciális csoportos lekérdezés, amely egy táblázatmező értéke alapján a statisztikai számítások eredményeit tükrözi.

Az alapul szolgáló forrás három mezője elegendő egy keresztkérelem létrehozásához. Egy mező ismételt értékei alapján kialakul a végső (összefoglaló) táblázat sorfejléceinek neve (6.4. ábra). Egy másik mező ismételt értékei alapján a végső (összefoglaló) táblázat oszlopfejléceinek nevei jönnek létre. A harmadik mezőre vonatkozó statisztikai feldolgozás eredményei a pivot tábla celláiban (értékterület) jelennek meg. A tervezési módban végrehajtott keresztlekérdezés példája a 6.5. ábrán, a lekérdezés eredménye pedig a 6.5. ábrán látható. 6.6.

A Sorfejléc terület több mezőt engedélyez, míg más területek egyszerre csak egy mezőt tartalmazhatnak.

Kiválasztási feltételek megadása keresztkérelemben megengedett. A rendezés csak a sorfejléc területén található mezők szerint végezhető el.

6.4. Kereszttábla elrendezés


6.5. Létrehozott keresztlekérdezés a QBE-ben


6.6. A lekérdezés végrehajtásának eredménye Adatlapok módban

A lekérdezések nem csak rekordok kiválasztását teszik lehetővé az Access táblákból, hanem különféle statisztikai paraméterek kiszámítását is. Például megszámolhatja a névjegyek teljes számát, és megjelenítheti a Névjegyek táblázatban szereplő összes személy első és utolsó kapcsolatfelvételének dátumát. Egy ilyen lekérdezés tervezési módban történő létrehozásához kövesse az alábbi lépéseket:

1. Az adatbázis ablakban kattintson a gombra Kérések.

2. Kattintson duplán az ikonra Lekérdezés létrehozása tervezési nézetben.

3. A megnyíló párbeszédablakban (17.6. ábra) válassza ki a Kapcsolatok sort.

4. Kattintson a gombra Hozzáadás adja hozzá a kiválasztott táblát a legfelső lekérdezési tervezési területhez.

5. Jelöljön ki egy elemet Listaés kattintson újra a gombra Hozzáadás.

6. A gombra kattintva Bezárás zárja be a párbeszédpanelt. A tervezőablakban megjelennek a linkvonallal összekapcsolt két tábla mezőlistái.

7. Kattintson a gombra Csoportműveletek eszköztár. Egy további sor jelenik meg az igénylőlapon Csoportos működés A, amely lehetővé teszi összesített műveletek végrehajtását meghatározott mezők értékein.

Rizs. 17.6. Táblázat hozzáadása

8. Húzza a Vezetéknév mezőt a cellába Terület a konstruktor első oszlopa.

9. A második oszlop ugyanabban a cellájában húzza el a mezőt Név táblázatok Kapcsolatok.

10. Az igénylőlap harmadik, negyedik és ötödik oszlopában húzza át a mezőt dátum táblázatok Lista (17.7. ábra).

11. Drop Cell Csoportos működés az igénylőlap harmadik oszlopában válasszon ki egy elemet Min.

12. A negyedik oszlop ugyanabban a cellájában válassza ki az elemet max.

13. Az ötödik oszlopban állítsa be a Count csoport műveletet. A megszerkesztett lekérdezés csoportos műveletei a Lista tábla összes, egy adott személyhez tartozó rekordját feldolgozzák a Névjegyek táblából, és a Lista tábla adatai helyett csak egy adott képlettel számított érték jelenik meg a listában. a lekérdezés eredményének megfelelő mezője. Az elérhető csoportműveletek a táblázatban találhatók. 17.1.

17.1. TÁBLÁZAT. Csoportműveletek

Név Funkció
FeltételA nem csoportosított mező kiválasztási feltételének megadásának módja. Az Access automatikusan elrejti az ilyen mezőket
KifejezésSzámított mező, amelynek értéke összetett képlet segítségével kerül kiszámításra
CsoportosítEgy mező, amely meghatározza a rekordok azon csoportját, amelyre a statisztika számítandó. Egy csoportba tartozik minden olyan rekord, amelynél a csoportosítási mód mezőértékei megegyeznek
UtolsóUtolsó érték a csoportban
ElsőElső érték a csoportban
VarMezőértékek változása
StDevNulla értékek szórása az átlagtól
SzámolA nullának megfelelő rekordok száma, amelyek nem tartalmaznak Null értéket
maxMaximális érték
MinMinimális érték
ÁtlMezei átlag
összegA mezőértékek összege az összes rekordra vonatkozóan

jegyzet Mivel a rekordok száma a lekérdezés ötödik mezőjében kerül kiszámításra, ennek az oszlopnak a Field cellájába a Lista tábla bármelyik mezője elhelyezhető.

14. Kattintson a gombra Kilátás a kérés teljesítéséhez. Megjelenik egy öt oszlopos táblázat. Az első két oszlop az emberek vezeték- és keresztnevét tartalmazza. A csoportosítást ők végzik, vagyis a lekérdezés többi mezőjének értékeinek kiszámítása a Lista tábla azon rekordjaira történik, amelyek egy személlyel egyeztethetők. Ahogy fentebb említettük, a Lista táblából származó partner és a Névjegyek táblában szereplő személy közötti megfelelést a Code_Contacts mezők határozzák meg, amelyek a két tábla összekapcsolására szolgálnak. A lekérdezés harmadik és negyedik oszlopában az első (Min függvény), illetve az utolsó (Max függvény) kapcsolatfelvétel dátuma jelenik meg az adott személlyel. Az ötödik oszlop a Lista tábla (Count függvény) megfelelő bejegyzéseinek számát tartalmazza. ezt a személyt, vagyis a vele való kapcsolatok számát. Az összeállított lekérdezés egyetlen hátránya a homályos oszlopnevek. Javítsuk ki őket.

15. Kattintson egy gombra Kilátás térjen vissza a lekérdezéskonstruktorhoz.

16. A harmadik oszlop Mező cellájában cserélje ki a Dátum nevet az Első kapcsolatfelvétel dátuma: Dátum szövegre. Ennek a kifejezésnek a jobb oldala, a kettősponttól jobbra, továbbra is a mező nevét, a bal oldala pedig a lekérdezés eredményoszlopának nevét adja meg. Így bármely lekérdezési oszlophoz tetszőleges név rendelhető.

17. A negyedik oszlop Mező cellájába írja be az Utolsó kapcsolatfelvétel dátuma: Dátum.

18. Az igénylőlap ötödik oszlopának első sorába írja be a Kapcsolatok száma: Dátum.

jegyzet Sajnos egy ilyen technika nem alkalmas egy olyan mező nevének megváltoztatására, amelynek értéke nem számít, hanem átkerül a táblázatból. Vagyis ilyen módon nem lehet átnevezni a Név mezőt.

19. Kattintson ismét a gombra Kilátás.

20. Zárja be a kérést.

21. A struktúra módosításainak mentéséhez kattintson a gombra Igen.

22. A párbeszédpanelen Megőrzésírja be a Summary Query nevet, és kattintson a gombra rendben.

Ma részletesen beszélünk az Access lekérdezéseiről.


Amint azt már tudja, lekérdezésekre van szükség a táblázatokban lévő adatok kezeléséhez.
Kérelem létrehozásához...
1) ... az adatbázis ablakban nyissa meg a Lekérdezéseket
2) ...és hozzon létre egy lekérdezést a konstruktor segítségével.



Kérjük, NE használja kérések létrehozására , mert ezzel csak a legegyszerűbb lekérdezéseket lehet elvégezni, majd ezeket átdolgozni fejlettebbekre még nehezebb, mint a konstruktorban a nulláról lekérdezést létrehozni.

Üres sorok megszüntetése

Ha több tábla van összekapcsolva, üres sorok jelenhetnek meg.



Miért történik ez?
A helyzet az, hogy a mi tbPerson táblázatunkban a kutyák gazdáival együtt a bírók is fel vannak tüntetve (Petrovskaya, Yelets, Tereshchuk). A bíróknak nincs joguk kutyájukat a kiállításra behozni, ezért a nevükkel ellátott sorokban üres cellák találhatók a kutyák nevével.
Az üres sorok eltávolításának két módja van.
1. Tegyen feltételt a kutya becenevének értékéhez Nem Null, azaz NEM ÜRES.



2. Vagy módosítsa a táblák közötti kapcsolat típusát a táblaterületen: meg kell hívnia a pontatlan eredményt adó kapcsolati sor helyi menüjét, és módosítania kell Egyesítési lehetőségek.



Kérdés: milyen beállításokat kell módosítani az egyesítési lehetőségek párbeszédpanelen?

Lekérdezések számításokkal

Eddig csak a rekordokat választottuk ki különféle feltételek szerint. De az Access nem csak a táblázatokban rögzített adatok megtekintését teszi lehetővé, hanem SZÁMÍTÁSOK elvégzését is: életkor meghatározása születési dátum szerint; a névből, vezetéknévből és apanévből kezdőbetűs vezetéknév létrehozása; meghatározza a vásárlás összköltségét az áruegység árával és mennyiségével; a könyv könyvtári kiadásának dátuma szerint határozza meg a tartozásokra kiszabott bírság összegét és még sok mást. A számításokhoz beépített függvényeket használnak (hasonlóak az Excelben találhatóakhoz).


A legegyszerűbb művelet az húr kiegészítés. Írjunk egy kifejezést a cellába a következő kifejezés megjelenítéséhez: tulajdonos a városból város .
Ehhez a feltételek terület új oszlopának felső sorába írjuk: + „a városból” + .



A mezőneveket szögletes zárójelben, karakterlánctöredékben írjuk - idézőjelbe, közöttük összeadási jelek vannak.


A számítási kifejezések a felső sorba vannak írva ( Terület) feltételek területén. Eddig feltételeket írtunk az alsó sorokba ( Kiválasztás feltételei).


Hogy ne tévedjünk: a felső sorba írjuk, hogy MIT kell megjeleníteni, majd (alul) - MILYEN ÁLLAPOT alatt.


Gyakorlat: Írjon egy kifejezést, amely egy cellában megjeleníti a tulajdonos vezetéknevét és zárójelben a várost, amelyben él. Mint ez: Ivanov (Moszkva). A táblázatból be kell cserélni a várost és a vezetéknevet.

Kifejezéskészítő

A kifejezések szerkesztésének megkönnyítése érdekében van egy speciális szerkesztő - "Expression Builder". Ez így néz ki:



És a helyi menü segítségével hívják: a kurzort arra a cellára kell helyeznie, ahová a kifejezést írja:



A kifejezéskészítőben a függvénykönyvtárak közül választhat:



és táblákból származó adatok (CSAK azokat a táblákat használhatja, amelyeket ebben a lekérdezésben használnak és az adatterületen jelennek meg):



Ha duplán kattint egy mező nevére vagy függvényre a listában, az Access gyakran hozzáadja a "kifejezés" szót, jelezve, hogy EZRE a HELYRE más függvények és mezőnevek is beilleszthetők. Ne felejtse el eltávolítani a "kifejezés" extra szavakat!


Megismerkedünk a szöveges és ideiglenes függvényekkel, valamint az Iif(feltétel; if-true; if-false) feltételes operátorral.


Szöveg A függvények lehetővé teszik a karakterlánc-változók konvertálását:
Left("Ivanov"; 2) = "Iv" n bal karaktert hagy
LCase("Ivanov") = Ivanov minden betűt kisbetűssé tesz
Az InStr(1; "Ivanov", "de") = 4 megkeresi az alkarakterláncot (harmadik argumentum) a karakterláncban (második argumentum), és megegyezik a karakterláncban lévő részkarakterlánc pozíciójával (elejétől)
Len("Ivanov") = 6 kiírja a karakterláncban lévő karakterek számát
A StrComp("Ivanov", "Petrov") = -1 két karakterláncot hasonlít össze: ha egyenlők, akkor 0-t ad vissza
Egyéb…


Ideiglenes lehetővé teszi az ideiglenes változókkal való munkát:
Hónap (#12.04.2007#) = 4
Év (#12.04.2007#) = 2007
nap (#12.04.2007#) = 12.
Most() = 2008.04.28. 14:15:42 (aktuális dátum és idő)
Dátum() = 2008.04.28. (a mai dátum)
DateDiff("d"; #12.04.2007#; #28.04.2007#) = 16 megkeresi a különbséget két dátum között ("d" - napokban, "ww" - hetekben, "m" - hónapokban, "yyyy" "- években stb.)
Egyéb…


összerakós játékaik feltételes kifejezések kezelése:
Ha(<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
Egyéb…


Gyakorlat: írjon olyan kifejezést, amely vezetéknévből, keresztnévből és családnévből kezdőbetűkkel alkot vezetéknevet. Ivanov Ivan Ivanovics -> Ivanov I.I.
Gyakorlat
Gyakorlat
Kiegészítés: A kutya életkorát kétféleképpen lehet kiszámítani, az egyik pontosabb, a másik kevésbé:
1) le kell vonni a kutya születési évét a folyó évből;
2) a DateDiff függvény segítségével számítsa ki, hány nap telt el születése óta a mai napig. Alkalmazzon egyik módszert az egyik feladatban, egy másikat a másikban.

Paraméteres kérések

Amikor futsz paraméterrel kérni, a szokásos kiválasztási kéréstől eltérően nem hajtódik végre azonnal, hanem először a párbeszédablakban néhány kiválasztási feltétel pontosítását kéri. Például egy bizonyos versenyszámmal rendelkező kutyáról szeretnénk teljes körű információt kapni.



Ez a kérelem a következőképpen épül fel:



Azon a helyen, ahol a kiválasztási feltétel általában áll, most van egy kérdés (szögletes zárójelben), amelyet feltesznek a felhasználónak. És a felhasználó válasza – kitaláltad – kiválasztási feltételként be lesz cserélve ebbe a cellába.


Gyakorlat: hozzon létre egy lekérdezést, amely az összes kutyát a tulajdonos vezetéknevével jeleníti meg, ami ingyenes paraméter.

Csoportosítási kérések

A kifejezéskészítők segítségével egyetlen sorban tudunk műveleteket végrehajtani: értékeket adunk hozzá a cellákhoz, átalakítjuk az adatokat.
De mi van akkor, ha egyszerre több sort kell feldolgoznunk: ki kell számolnunk a pontok összegét, megkeresni egy adott mező azonos értékű sorainak számát?
Ehhez a csoportosítást használják (nagyon hasonlít az Excelben történő összegzéshez).


Számoljuk meg, hogy az egyes fajtákból hány kutya érkezett a kiállításra. Ehhez csak két mezőt helyezünk át a feltételek területre: becenév és fajta - és hívunk egy további sort csoportos műveletek(a feltételek területen lévő helyi menün keresztül):



Most csoportosítsuk a kutyákat fajták szerint, és számoljuk meg a különböző becenevek számát az egyes csoportokban:



Foglaljuk össze a kiállítás eredményeit, és számítsuk ki a külső, az edzés átlagpontszámát és ezek összegét.


Adjon hozzá egy táblázatot jelekkel (tbMarks) a táblázatterülethez. A pontszámokat a kutya versenyszáma szerint csoportosítjuk, és a csoportműveletek közül kiválasztjuk az átlagos Átlag értéket. átlagos- az átlagos).


Hajtsa végre a lekérdezést, és nézet módban vegye észre, hogy a csoportműveleteket tartalmazó oszlopoknak kettős neve van (művelet + mező neve). Ez hasznos lesz számunkra az összpontszám kiszámításakor.





Az értékeket egy tizedesjegyre is kerekítheti: Kerek (+;1)


Gyakorlat: derítse ki, melyik kutya váltotta ki a bírák legellentmondásosabb véleményét. Ehhez vonja le a minimumot a maximális pontszámból.

Változási, eltávolítási, kiegészítési kérések

Az első leckében már beszéltünk arról, hogy a lekérdezések nem csak a táblák adatainak megtekintését teszik lehetővé, hanem a rekordok szerkesztését is: újak hozzáadása, törlése, módosítása. A kérés típusa az eszköztáron található kéréslista segítségével módosítható.



A kiállítás előestéjén az adatbázis-kezelő új információkat kapott:
1) Desi kutyája beteg és nem tud részt venni a kiállításon;
2) tévedésből a Guardian, aki valójában angol szetter, ír szetterként szerepelt;
3) Migunova gazdája egy másik kutyáját kérte (név: Harry, fajta: Gordon Setter, nem: m, születési idő: 07.09.15).


Kezdjük el az adatbázis szerkesztését.
1) Törölje a rekordot a Desiből.
Hozzon létre egy quDelDog lekérdezést. Kérelem típusa - törlés. A kérés típusának változásával a feltételek terület is megváltozik valamelyest. Van egy új cella Eltávolítás. Alatta megadja, hogy milyen feltétellel kívánja kiválasztani a törölni kívánt rekordokat. Még ha kiválasztási feltételt ad meg egy mezőhöz, a TELJES rekord törlődik.



A „felkiáltójelre” kattintás után egy üzenet jelenik meg a képernyőn arról, hogy a bejegyzést törölték. Most nyitva tbDog asztalés győződjön meg róla, hogy Desi nincs benne.


2) Kérje meg a Guardian-t, hogy az ír szettert angol szetterre cserélje.
Hozzon létre egy quUpdateDog lekérdezést. Kérelem típusa - frissítés. Megkeressük Guardiant, és frissítjük a fajtáját.



Nyisd ki tbDog asztalés győződjön meg arról, hogy a Guardian fajta angol szetter.


3) Adjon hozzá egy bejegyzést Harryvel.
Hozzon létre egy quaAddDog lekérdezést. Kérelem típusa - kiegészítéshez. A Hozzáadási lekérdezéseknek van egy sajátossága: a táblaterületen NEM azok a táblák jelennek meg, AHOGY rekordot adsz hozzá, hanem Ahonnan veszi az adatokat (ha szükséges). A céltáblázatot (amelyhez a rekordok hozzáadódnak) a lekérdezés típusának (hozzáadandó) beállítása után megjelenő párbeszédpanelen adja meg:



Mivel nem más táblákból veszünk adatokat, hanem új rekordot hozunk létre, ezért a táblaterületnek ÜRESnek kell lennie! (ne legyen asztal). A vonalon lévő feltételek területén Terület beírod, hogy MIT kell hozzáadni (minden mezőhöz új érték), és a sorba Függelék WHERE (mezők neve):



Nyisd ki tbDog asztalés gondoskodj róla, hogy Harry megjelenjen benne!

SQL lekérdezési nyelv

Ha a „felkiáltójelre” kattint, a kérés végrehajtásra kerül. Így néz ki egy újonc számára.
A szakemberek tudják, hogy valójában ebben a pillanatban egy utasítás végrehajtása zajlik egy speciális SQL lekérdezési nyelven. Az a tény, hogy az Access nem az egyetlen adatbázis-kezelő rendszer (DBMS). Talán hallottál már olyan DBMS-ekről az interneten, mint a MySQL, FreeBSD??? Az Access egyszerűen egy nagyon kényelmes felületet kínál az adatbázissal való munkavégzéshez, és más CS-ekben nincs felkiáltójellel ellátott gomb. De mindig van egy speciális ablak, amelybe SQL utasításokat írhat.
Az Access lehetővé teszi a lekérdezések SQL utasítás módban történő szerkesztését is:



Az SQL nyelv szabályai nem olyan bonyolultak. Te magad láthatod! Készítsen egyszerű kiválasztási lekérdezést (például nyomtassa ki egy Harry nevű kutya nevét, fajtáját és születési dátumát). Most nyissa meg Harry keresési lekérdezését SQL módban!
Az utasítások nagyon egyszerűek:
SELECT mező1, mező2, ...
FROM tábla1, tábla2, ...
WHERE feltétel1, feltétel2,…


Most nyissa meg a frissítési, frissítési, törlési lekérdezéseket (quDelDog, quUpdateDog, quaAddDog) SQL módban, és írja le az SQL utasítássablonjaikat egy papírra (ahogyan a kiválasztási lekérdezésnél tette).


A paraméteres lekérdezések, a csoportosítási lekérdezések, a számításokat tartalmazó lekérdezések ugyanazok az SQL lekérdezések, csak kicsit bonyolultabb kiválasztási feltételekkel. Az SQL nyelv nélkülözhetetlen eszköz azok számára, akik adatbázisokkal dolgoznak!

Feladatok

Íme az általunk érintett témák:
- egyszerű és összetett kiválasztási feltételek
- LIKE operátor
- válogatás több asztal közül
- kifejezésépítő
- kérések paraméterrel
- csoportos kérések
- frissítési, hozzáadási, törlési kérések
- SQL lekérdezési nyelv.


Sokan vannak! De miután elsajátította őket, minden információt megtalálhat az adatbázisban.


Tesztelje tudását! Futtassa a következő lekérdezéseket az adatbázisában (vagy nevezze át a már futtatott lekérdezéseket, hogy megfeleljen a feladatok nevének):

1. mintavétel

quSelectDog: Találja meg az összes Shar-Peis és Gordon szettert a régiókból (NEM Moszkvából); használja a "nem egyenlő" operátort.

2. Mint operátor

quLike: Találja meg az összes MTS-előfizetőt (azokat, akiknek a mobiltelefonszáma 8(916)-tal kezdődik…).

3. kifejezések

quEvalText: Írjon egy olyan kifejezést, amely vezetéknévből, keresztnévből és családnévből kezdőbetűkkel alkot vezetéknevet. Ivanov Ivan Ivanovics -> Ivanov I.I.
quEvalDate: Írjon egy kifejezést, amely a születési dátuma alapján kiszámítja, hány éves egy kutya.
quEvalIif: írjon egy kifejezést, amely életkor szerint meghatározza, hogy a kutya melyik korosztályban teljesít: „kölyökkutya” - egy évig; "junior" - egy évtől két évig; "idősebb" - két évesnél idősebb.
Kiegészítés: Alkalmazza az egyik feladatban a kutya életkorának kiszámítását, a másikban - egy másikat: 1) vonja ki a kutya születési évét az aktuális évből; 2) a DateDiff függvény segítségével számítsa ki, hány nap telt el születése óta a mai napig.

4. paraméter

quParameter: Hozzon létre egy lekérdezést, amely megjeleníti az összes kutyát a tulajdonos vezetékneve alapján, amely ingyenes paraméter.

5. csoportosítás

quGroup: Tudja meg, melyik kutya váltotta ki a bírák legellentmondásosabb véleményét.

6. adatbázis szerkesztés

Röviddel a kiállítás előtt a tulajdonos Gorokhovets állandó lakhelyre (állandó lakhelyre) távozott Németországba, és az összes kutyát barátjának, Karpov Mihail Igorevicsnek adta. Kívánt:
1) quaAddOwner: új tulajdonosi rekord hozzáadása;
2) quUpdateOwner: módosítsa a Gorokhovets kutyák tulajdonosi azonosítóját Karpov azonosítóra;
3) quDelOwner: távolítsa el a Gorokhovetst az adatbázisból.


Várom adatbázisát elvégzett feladatokkal, valamint SQL utasítások sablonjait frissítési, módosítási, törlési kérésekhez.