Jak provést výběr v přístupu. Jak vytvářet dotazy v Accessu: podrobné pokyny a doporučení. Použijte tuto podmínku

Při vytváření dotazů je důležité správně formulovat podmínky pro výběr záznamů z databáze. V MS Access jsou k dispozici následující funkce:

· jednoduché výběrové kritérium;

· přesný nesoulad mezi hodnotami jednoho pole;

· nepřesná shoda hodnot polí;

· výběr podle rozsahu hodnot;

· kombinace kritérií několika oborů;

· výběrová podmínka pro výsledky konečných výpočtů.

Jednoduché výběrové kritérium . Záznamy jsou vybírány na základě odpovídajících hodnot polí. Například z terénu Město musíte vybrat hodnoty Minsk. Chcete-li to provést, ve formuláři žádosti v řádku Podmínka výběru ve sloupci Město hodnota se zadává z klávesnice "Minsk".

Přesný nesoulad mezi hodnotami jednoho pole. Z databáze jsou vybrány všechny záznamy kromě těch, pro které je zadána podmínka. Například musíte vybrat všechny záznamy s polem Město, kromě těch, které mají hodnotu v tomto poli Minsk. Chcete-li to provést, v řadě Podmínky výběru ve sloupci Město výraz je zadán ne "Minsk" nebo <>"Minsk". Logický operátor Ne vylučuje položky s hodnotou Minsk, operátor porovnání<>znamená "není rovno".

Nepřesná shoda hodnoty pole. Tuto podmínku lze nastavit, pokud nejsou známy hodnoty polí. Pro vzorkování se používá porovnávací operátor Jako(jako). Vedle operátoru je zapsán vzor obsahující nebo přesnou hodnotu, např. jako "Petrov", nebo včetně zástupných znaků, např. Jako „Pet*“.

Přístup umožňuje následující zástupné znaky:

? - jakýkoli znak;

* - nula nebo více znaků;

#- jakákoli jedna číslice;

[seznam znaků] - libovolný jeden znak v seznamu znaků;

[!seznam znaků] - libovolný jeden znak, který není zahrnut v seznamu.

Kromě seznamu znaků mohou hranaté závorky uzavírat řadu znaků, například [B-R]. Podmínka [b-rB-R] umožňuje vybrat velká i velká písmena.

Vzhledem k tomu Jako „[BR]*“ Vyberou se všechna příjmení, která začínají na B nebo R.

Vyberte podle rozsahu hodnot. K nastavení rozsahu hodnot se používají následující operátory:

> (více),

>= (ne menší, větší nebo rovno),

< (méně ),

<= (ne více než, méně než nebo rovno) (například >= 10).

Mezi ... a ... (slouží ke kontrole, zda patří do rozsahu, jehož horní a dolní hranice jsou spojeny logickým operátorem AND (např. mezi lety 1990 a 1995).

Operátory lze použít s textovými, číselnými a datovými poli.

Kombinace kritérií jednoho oboru. Pokud je na jedno pole uloženo více než jedna podmínka, lze podmíněné výrazy propojit pomocí operátorů Nebo (NEBO) A A(A).

Kombinace kritérií z více polí. Žádost může obsahovat několik podmínek výběru. V tomto případě existují dvě možnosti výběru záznamů:

záznam je vybrán pouze při splnění všech podmínek, což odpovídá logické operaci A. Žádost je volána A-dotaz;

záznam je vybrán, když je splněna alespoň jedna podmínka, která odpovídá logické operaci NEBO. Žádost je volána NEBO-dotaz.

Při stavbě NEBO-dotaz Každá podmínka zahrnutá v kritériu by měla být umístěna na samostatném řádku. Při stavbě I-dotaz Každá podmínka obsažená v kritériu musí být umístěna na jednom řádku.

V závěrečné dotazy Existují dva typy kritérií výběru záznamů.

První typ před provedením konečných výpočtů eliminuje záznamy, které nesplňují kritéria. Druhý typ kritérií je aplikován na výsledek konečných výpočtů.

formuláře

MS Access vytváří formuláře pomocí několika nástrojů: Form, Split Form, Multiple Elements, Form Wizard, Blank Form, Form Builder.

Formulář. Když použijete tento nástroj, všechna pole v podkladovém zdroji dat se umístí do formuláře. Formulář zobrazuje pouze jeden záznam a umožňuje zobrazit další záznamy.

Pokud MS Access zjistí jednu tabulku, která souvisí ve vztahu jedna k mnoha s tabulkou nebo dotazem, který byl použit k vytvoření formuláře, MS Access přidá do formuláře tabulku dat na základě související tabulky nebo dotazu. Například pokud tvoříte jednoduchá forma na základě tabulky "Zaměstnanci" a mezi "Zaměstnanci" a " Mzda Pokud je definován vztah „jeden k mnoha“, pak tabulka dat zobrazí všechny záznamy tabulky „Mzdy“ související s aktuálním záznamem zaměstnance. Pokud datovou tabulku ve formuláři nepotřebujete, můžete ji odstranit. Pokud existuje více tabulek, které mají vztah jedna k mnoha s tabulkou, která byla použita k vytvoření formuláře, data tabulky se do formuláře nepřidají.

Dělená forma– umožňuje současně zobrazovat data ve dvou pohledech – ve formulářovém režimu a v režimu tabulky.

Tato dvě zobrazení jsou propojena se stejným zdrojem dat a jsou vždy vzájemně synchronizována. Když vyberete pole v jedné části formuláře, vybere se stejné pole v jiné části. Data lze přidávat, měnit nebo mazat v každé části formuláře (pokud zdroj záznamů umožňuje aktualizaci a nastavení formuláře takové akce nezakazuje).

Práce s rozděleným formulářem vám dává výhody obou typů formuláře v jednom formuláři. Můžete například použít tabulková část formulářů pro rychlé vyhledání záznamu a poté zobrazení nebo úpravy záznamu v jiné části formuláře.

Několik prvků. Vytvořený formulář vypadá jako stůl. Data jsou uspořádána do řádků a sloupců a současně je zobrazeno více záznamů. Do tohoto formuláře můžete přidat grafiku, tlačítka a další ovládací prvky.

Mistr formulářů. Poskytuje větší svobodu při výběru polí zobrazených ve formuláři. Průvodce vám umožňuje určit, jak se data seskupují a třídí, a také zahrnout pole z více tabulek nebo dotazů do formuláře za předpokladu, že vztahy mezi těmito tabulkami a dotazy jsou předdefinovány.

Prázdný formulář. Slouží k rychlému sestavení formuláře s malým počtem polí. MS Access otevře prázdný formulář a zároveň zobrazí oblast Seznam oborů, ze kterého se poklepáním nebo přetažením vyberou požadovaná pole.

Návrhář formulářů. Zdrojem dat pro formulář může být pouze jedna tabulka nebo dotaz. Hlavní strukturní jednotkou formuláře, do kterého uživatel umísťuje datová pole, je Datová oblast, ve výchozím nastavení viditelné na obrazovce. Mezi další konstrukční části formuláře patří: název formuláře, záhlaví, zápatí, poznámka formuláře, které jsou vyvolány na obrazovce uživatelem.

Datová pole ze zdroje dat se umístí do datové oblasti pomocí okna Seznam oborů a také vypočítaná pole, která nejsou přítomna ve zdroji dat (vytvořená pouze ve formuláři zobrazení pásu karet). Výrazy pro vypočítaná pole se zapisují pomocí Tvůrce výrazů.

Nástroje pro návrh formuláře jsou řízení. Nejčastěji používaným ovládacím prvkem je pole. Mezi další ovládací prvky patří: štítky, zaškrtávací políčka, ovládací prvky podformulářů a sestav a další. Ovladač pole může být připojený, volný nebo vypočítaný.

· Připojené ovládání– ovládací prvek, jehož zdrojem dat je tabulka nebo pole dotazu. Připojený ovládací prvek je tvořen pomocí okna Seznam oborů a slouží k zobrazení hodnot polí zdroje dat. Tento Nejlepší cesta vytvoření připojeného ovládacího prvku ze dvou důvodů:

· Připojený ovládací prvek má přiřazený štítek, což je ve výchozím nastavení název pole (nebo štítek definovaný jako vlastnost pro toto pole ve zdroji dat), takže není nutné zadávat text podpisu.

· připojený ovládací prvek zdědí hodnoty vlastností pole zdroje dat, např. Formát, Počet desetinných míst, Vstupní maska.

· Volné ovládání– ovládací prvek, který nemá zdroj dat. Volné ovládací prvky se používají k zobrazení textu, čar, obdélníků a obrázků. Příkladem volného prvku je Nápis.

· Vypočítané kontroly– ovládací prvek, jehož zdrojem dat je spíše výraz než pole.

Návrhář MS Access umožňuje vytvářet formuláře s podformulářem. Podřízený formulář je formulář, který se za účelem získání vloží do jiného formuláře, který se nazývá hlavní formulář dodatečné informace z jiného stolu. Nejprve vytvořte podformulář, potom hlavní formulář a poté umístěte podformulář do hlavního formuláře. Je povoleno několik úrovní podřízenosti formulářů.

K úpravě formulářů použijte režimy rozvržení a návrhu.

Režim rozvržení Režim rozvržení je nejintuitivnějším režimem pro změnu tvarů. Lze s ním provádět téměř jakékoli změny formuláře: upravit data, nastavit velikost ovládacích prvků, design vzhled formuláře. V tomto režimu můžete také změnit strukturu formuláře, například upravit velikost polí v souladu s údaji zobrazenými na obrazovce.

Režim návrhu Návrhové zobrazení umožňuje podrobněji zobrazit strukturu formuláře. Můžete zobrazit části záhlaví a zápatí formuláře. V tomto režimu se formulář nespustí, takže při provádění změn nemůžete zobrazit podkladová data. V režimu návrhu je však pohodlnější dělat jinou práci:

· Přidejte do formuláře různé ovládací prvky, jako je text, obrázky, čáry a obdélníky.

· změnit zdroj ovládacího prvku pole přímo v poli bez použití okna vlastností.

· změnit velikost částí formuláře, jako je záhlaví formuláře nebo datová oblast.

· změnit vlastnosti formuláře, které nelze změnit v režimu rozvržení (např. Výchozí zobrazení nebo Režim formuláře).

Zprávy

Report je hlavní objekt MS Access určený pro tisk dat z tabulek a dotazů. V reportech MS Access zpravidla organizuje data do skupin a vypočítává obecné i mezivýsledky. Kromě dat obsahuje sestava informace o rozvržení sestavy: titulky, nadpisy, obrázky a další informace.

Aplikace MS Access vytváří sestavy pomocí následujících nástrojů: sestava, průvodce sestavou, prázdná sestava, návrhář sestav.

Zpráva. S nejvíc rychlý způsob vytvoření zprávy, protože zpráva je generována bez vyžádání dalších informací. Sestava obsahuje všechny záznamy zdroje dat – tabulku nebo dotaz. Sestavu můžete podle potřeby upravit v zobrazení rozvržení nebo návrhu. Při každém otevření sestavy se zobrazí aktuální tento moment záznamy ze zdroje dat.

Průvodce sestavou. Interaktivně generuje sestavu a dává uživateli možnost přidávat do sestavy pole z několika tabulek nebo dotazů, pokud jsou vztahy mezi těmito tabulkami a dotazy předem definovány. Můžete určit, jak se data seskupují a třídí.

Náhled sestavy v různých měřítcích vám umožní vidět, jak bude sestava vypadat po vytištění.

Aplikace MS Access má nástroj Mistr nálepky, který vám pomůže vytvořit samolepky ve většině standardních velikostí. Zdroj záznamů pro štítky je tabulka nebo dotaz.

Prázdná zpráva. Slouží k rychlému vytvoření sestavy s malým počtem polí. MS Access otevře prázdnou sestavu. Současně se na pravé straně okna zobrazí oblast Seznam oborů, ze kterého musíte dvakrát kliknout nebo přetáhnout požadovaná pole.

Použití nástrojů prezentovaných ve skupině Řízení na kartě Formátování, můžete do sestavy přidat logo společnosti, název, čísla stránek, datum a čas.

Návrhář sestav. Struktura sestavy, stejně jako struktura formuláře, má několik sekcí: Záhlaví sestavy, Záhlaví, Záhlaví skupiny, Oblast dat, Poznámka ke skupině, Zápatí, Poznámka k sestavě.

· Název zprávy. Slouží k umístění názvu sestavy. Název obsahuje logo společnosti, název zprávy nebo datum. Pokud do záhlaví sestavy umístíte vypočítaný ovládací prvek, který používá agregační funkci Součet, částka se vypočítá za celý přehled. Název sestavy se tiskne před hlavičku pouze jednou na začátku sestavy.

· Záhlaví stránky. Používá se k umístění názvů sloupců v tabulkových sestavách. Vytištěno v horní části každé stránky.

· Název skupiny. Obsahuje název skupiny a je vytištěn před každou novou skupinou položek. Pokud do záhlaví skupiny umístíte vypočítaný ovládací prvek, který používá agregační funkci Součet, částka se vypočítá pro aktuální skupinu.

Datová oblast. Navrženo pro umístění datových polí ze zdroje dat pomocí okna Seznam oborů. Sekce také vytvoří vypočítaná pole, která nejsou přítomna ve zdroji dat. Technologie pro zahrnutí polí do datové oblasti sestavy a formuláře jsou podobné.

Skupinová poznámka. Umístěno na konci každé skupiny záznamů. Skupinovou poznámku lze použít k tisku souhrnných informací pro skupinu.

· Zápatí. Nachází se v dolní části každé stránky. Používá se pro číslování stránek a pro tisk informací po jednotlivých stránkách.

· Poznámka k hlášení. Poznámku sestavy můžete použít k vytištění součtů a dalších souhrnných informací pro celou sestavu. Vytištěno jednou na konci zprávy.

Změny v projektu sestavy můžete provádět v režimech rozvržení a návrhu.

Můžete si prohlédnout zprávu různé způsoby:

· v režimu hlášení, pokud potřebujete dočasně změnit složení dat v sestavě před jejím tiskem nebo zkopírujte data sestavy do schránky. Přímo v režimu hlášení můžete použít filtry hlásit data;

· v režimu rozložení, pokud potřebujete změnit rozložení hlásit, mít svá data před sebou;

· v režimu náhledu, pokud potřebujete pouze náhled zprávy před tiskem. Pouze v tomto režimu bude viditelných několik sloupců sestavy. V předchozích režimech sestava zobrazuje jeden sloupec.

Namísto tisku sestavy ji můžete odeslat příjemci jako e-mailovou zprávu.

Podmínky filtru jsou omezení, která jsou kladena na dotaz nebo rozšířený filtr za účelem určení, se kterými záznamy bude pracovat. Například místo zobrazení všech dodavatelů společnosti můžete zobrazit pouze dodavatele z Litvy. Chcete-li to provést, musíte zadat podmínku výběru, která odfiltruje všechny záznamy kromě těch, u kterých je v poli Země uvedeno „Litva“. Chcete-li nastavit podmínku výběru pro pole ve formuláři žádosti, zadejte výraz do pole Buňka podmínky výběru pro toto pole. V předchozím příkladu je výraz „Litva“. Lze použít i složitější výrazy, například „Mezi 1000 a 5000.“ Pokud dotaz obsahuje související tabulky, pak hodnoty zadané v podmínkách výběru pro pole ze souvisejících tabulek rozlišují malá a velká písmena. Musí odpovídat velikosti písmen hodnot v základní tabulce.

Proč můžete použít výpočtové pole v dotazu nebo sestavě?

Při vytváření dotazů často vzniká potřeba nejen využít existující pole tabulky, ale na jejich základě vytvořit další pole, která se nazývají počítaná pole. Pokud například v tabulce obchodu existuje pole ceny pro produkt a pole množství pro tento produkt, můžete na základě toho vytvořit kalkulované pole, ve kterém budou celkové náklady pro každý produkt vypočítány podle vynásobením ceny a hodnoty množství. Jinými slovy, počítané pole může používat aritmetické operátory.

Co jsou slučovací parametry v DBMS Microsoft Access, k čemu slouží?

Co je to dotaz s parametrem a jak jej lze nastavit?

Vytvoření dotazu s jedním parametrem

  1. V nabídce Odkaz vybrat Příklady databáze, a pak Příklad databáze Northwind. Kdy se objeví Domov tlačítkovou formou , Zavři to.
  2. Z nabídky Pohled vybrat Databázové objekty, a pak Žádosti.
  3. Účty a poté klikněte Konstruktér.
  4. Do buňky zadejte následující příkaz Podmínky výběru pro pole Země příjemce. Upozorňujeme, že zadaný výraz musí být uzavřen v hranatých závorkách.

[Kontrola účtů v zemi]

  1. V nabídce Žádost vybrat předmět Vykonat. Po zobrazení výzvy zadejte UK a klikněte OK pro zobrazení výsledků dotazu. Vezměte prosím na vědomí, že dotaz vrací pouze záznamy, které mají Spojené království jako zemi příjemce.

Vytvoření dotazu se dvěma nebo více parametry

  1. Spusťte aplikaci Microsoft Access 2002.
  2. V nabídce Odkaz vybrat Příklady databáze, a pak Příklad databáze Northwind. Kdy se objeví Formulář hlavního tlačítka, Zavři to.
  3. Z nabídky Pohled vybrat Databázové objekty, a pak Žádosti.
  4. V okně databáze klikněte na dotaz Účty a poté klikněte Konstruktér.
  5. Zadejte následující příkaz podmínky výběru buňky pro pole Datum umístění.

Mezi [zadejte datum zahájení] a [zadejte datum ukončení]

  1. V nabídce Žádost vybrat tým Vykonat. Až budete vyzváni k zadání počátečního data, zadejte 1. 1. 1997 a klikněte OK. Po zobrazení výzvy k zadání koncového data zadejte 31. 1. 1997 a klepněte na tlačítko OK pro zobrazení výsledků dotazu. Všimněte si, že dotaz vrací pouze záznamy s datem objednávky v lednu 1997.
  2. Zavřete požadavek bez uložení.

Vytváření parametrů, které používají zástupné znaky

Následující příklad ukazuje, jak vytvořit parametry, které používají operátor LIKE a zástupný znak (*) .

  1. Spusťte aplikaci Microsoft Access 2002.
  2. V nabídce Odkaz vybrat Příklady databáze, a pak Příklad databáze Northwind. Kdy se objeví Formulář hlavního tlačítka, Zavři to.
  3. Z nabídky Pohled vybrat Databázové objekty, a pak Žádosti.
  4. V okně databáze klikněte na dotaz Účty a poté klikněte Konstruktér.
  5. Do buňky zadejte následující příkaz Podmínky výběru pro pole Značka:

LIKE "*" & [Zadejte produkty obsahující výraz] & "*"

  1. V nabídce Žádost vybrat tým Vykonat. Po zobrazení výzvy zadejte omáčku a stiskněte OK pro zobrazení výsledků dotazu. Všimněte si, že dotaz vrací pouze záznamy, kde název produktu obsahuje slovo „omáčka“.
  2. Zavřete požadavek bez uložení.

Jaké skupinové operace lze použít v MS Access DBMS při vytváření dotazů se skupinovými operacemi? Popište účel každého z nich.

Většina moderních DBMS má svou vlastní verzi QBE, která se mírně liší od prvního popisu QBE, navrženého na konci 70. let dvacátého století. Podívejme se na některé schopnosti QBE DBMS MS Access.

Použijme jako příklad databázovou tabulku, která se týká obchodování (obr. 3.10). Název tabulky TYPE (typy produktů). Má sloupce: produkt - názvy produktů; barva – její barva; náklady – náklady na produkt.

Vzorkování dat lze provádět podle následujících možností:

1. Jednoduchý výběr, například: „Získejte zelené produkty z tabulky TYP.“

2. Jednoduché vzorkování s objednáním.

3. Vzorkování s kvalifikátory (podmínky). Výběr záznamů ze zdrojové tabulky může být založen na: a) přesné shodě; b) částečná náhoda; v porovnání.

Dotazy umožňují získat výsledné tabulky, jejichž pole splňují určité podmínky (kritéria). Tyto podmínky jsou uvedeny ve formuláři žádosti v řádku Podmínky výběru. Podmínky výběru jsou logické výrazy skládající se z operátorů a operandů. Srovnávací operátory =,< , >, <>(nerovná se), Mezi, V, Líbí a a logické operátory A nebo Ne. Je povoleno používat zástupné vzory.

Rýže. 3.10. Příklad databázové tabulky

Pokud není známa přesná hodnota nebo je nutné zadat hodnotu neúplně, pak je vhodné použít šablona (ukázka) se zástupnými znaky (znaky). Příklady zástupných znaků:

* - odpovídá libovolnému počtu libovolných znaků. Příklad: 77* - vyhledá všechny telefony s čísly začínajícími 77.

? - odpovídá jednomu textovému znaku. Příklad: 77-4?-0? - najít všechny telefony s čísly obsahujícími čtyři zadané číslice.

Šablony se používají ve spojení s operátorem Jako . Tento operátor umožňuje vytvářet vzory, které při vyhledávání používají zástupné znaky textová pole. Například příjmení zaměstnance není přesně známo. Může to být Petrov, Petrovský, Peotrovskij atd. Pak by měl být použit k výběru v řadě Stav nahrát Like "Pe*".

Je známo, že název se skládá ze 4 písmen. Pak bude stačit záznam Like "????".

Operátor Mezi určuje rozsah hodnot. Například mezi 1 a 5

(uvedené hrany intervalů jsou zahrnuty ve vzorku).

Operátor v zkontroluje rovnost s jakoukoli hodnotou ze seznamu uvedeného v závorkách. Například In("pero","parfém").

Logické operace AND, OR lze zadat explicitně ve výrazu podmínky pomocí operátorů A A NEBO . Například „parfém“ NEBO „tužka“.

Tak jako operandy Dotazy mohou používat literály, konstanty a identifikátory (odkazy).

Doslovy jsou specifické hodnoty, které systém vnímá tak, jak jsou zapsány. Literál může být číslo, datum nebo řetězec. Například 1146, #31.01.02 #, "Lipetsk".

Konstanty jsou konstantní hodnoty, které jsou definovány v Accessu. Například True, False, Null, Yes, No.

Identifikátor vytváří odkaz na pole, ovládací prvek nebo vlastnost. Identifikátory mohou být názvy polí, tabulek, formulářů a podobně. Jsou uzavřeny v hranatých závorkách. Odkaz na konkrétní hodnotu musí udávat její umístění v hierarchii objektů v databázi. Odkaz na pole v tabulce vypadá jako [Název tabulky]![Název pole]. Například [Employees]![Last Name].

Je vhodné vytvořit podmínku výběru pomocí nástroje pro tvorbu výrazů. Chcete-li to provést, otevřete okno Tvůrce výrazů, kliknutím na tlačítko Stavět na panelu nástrojů nebo výběrem příkazu Stavět v kontextovém menu. Nejprve musíte umístit kurzor myši do buňky pro zadání podmínky.

Podmínka pro přesný nesoulad mezi hodnotami jednoho z polí. Pokud potřebujete najít záznamy v tabulce, jejichž hodnoty polí nesplňují určitou podmínku, použijte operátor Ne . Ne operátor resp<>se zadává před porovnávanou hodnotou. Příklad. Vyberte všechny záznamy tabulky TYP kromě záznamů „tužka“ v poli Produkt. Chcete-li to provést, ve formuláři žádosti ve sloupci pole Produkt v souladu Podmínka výběru Není zadáno "tužka".

Nepřesný stav zápasu. Výběr záznamů na základě nepřesných podmínek

shody hodnot lze dosáhnout pomocí operátoru Like. Tento operátor vám umožňuje najít požadované záznamy, přičemž znáte pouze přibližný pravopis textové hodnoty. Operátor Like může používat vzory zástupných znaků, které rozšiřují možnost vyhledávat záznamy, když podmínky nejsou přesně specifikovány. Příklad podmínky výběru: Jako „[d-k]*“. Zde - (mínus) odpovídá libovolnému znaku z rozsahu. Rozsah musí být specifikován ve vzestupném pořadí (d-k, nikoli k-d).

Vyberte záznamy podle rozsahu hodnot. Chcete-li zadat rozsah hodnot v okně návrháře dotazů, použijte operátory >,<, Between, Like. Их можно применять с текстовыми, числовыми полями и полями типа даты. Примеры: в строке Podmínka výběru možné zadat: >100,00 AND< 500.00; Between # 01.01.97 # AND #31.03.97#; Like “*”. Напомним, что символ # применяется для данных типа «дата/время».

Příklad 1 Dotaz s přesnou neshodou v jednom poli a srovnávací podmínkou v jiném poli. Požadavek na výběr z tabulky TYP veškerého nečerveného zboží, jehož cena je vyšší než 5, je znázorněn na Obr. 3.11 (žádost vytvořená v režimu Návrhář).

Dnes si podrobně povíme o dotazech v Accessu.


Dotazy, jak již víte, jsou potřebné pro práci s daty umístěnými v tabulkách.
Chcete-li vytvořit požadavek...
1) ...otevřete dotazy v okně databáze
2) ...a vytvořte požadavek pomocí konstruktoru.



Prosím NEPOUŽÍVEJTE k vytváření dotazů. Mistr, protože umožňuje dělat jen ty nejjednodušší dotazy a později je převést na pokročilejší je ještě obtížnější než vytvořit dotaz v konstruktoru od začátku.

Výpadek prázdné řádky

Když je propojeno více tabulek, mohou se objevit prázdné řádky.



Proč se tohle děje?
Faktem je, že v naší tabulce tbPerson jsou spolu s majiteli psů zaznamenáni také rozhodčí (Petrovskaya, Yelets, Tereshchuk). Rozhodčí nemají právo přivést své psy na výstavu, proto jsou v řádcích s jejich příjmením prázdné buňky se jmény psů.
Prázdné řádky lze odstranit dvěma způsoby.
1. Stanovte si podmínku významu jména psa Není Null, tj. NENÍ PRÁZDNÝ.



2. Nebo změňte typ spojení mezi tabulkami v oblasti tabulek: musíte vyvolat kontextové menu na řádku spojení, které dává nepřesný výsledek a změnit Možnosti sloučení.



Otázka pro vás: jaká nastavení je třeba změnit v dialogovém okně možností sloučení?

Dotazy s výpočty

Zatím jsme vybrali pouze záznamy pro různé podmínky. Ale Access vám umožňuje nejen prohlížet data zaznamenaná v tabulkách, ale také provádět VÝPOČTY: určit věk podle data narození; z křestního jména, příjmení a patronyma vytvořte příjmení s iniciálami; Stanovte celkové náklady na nákup na základě jednotkové ceny produktu a jeho množství; Na základě data vydání knihy v knihovně určete výši pokuty za dluh a mnoho dalšího. Pro výpočty se používají vestavěné funkce (podobné těm, které najdete v Excelu).


Nejjednodušší operace je přidání řetězce. Zapišme do buňky výraz, který zobrazí následující frázi: majitel z města město .
Chcete-li to provést, napište do horního řádku nového sloupce oblasti podmínek: + „z města“ + .



Názvy polí jsou psány v hranatých závorkách, fragmenty řetězců jsou psány v uvozovkách a mezi nimi znaménka sčítání.


Výrazy pro výpočty se zapisují na nejvyšší řádek ( Pole) oblast podmínek. Zatím máme napsané podmínky na spodních řádcích ( Podmínky výběru).


Abyste nebyli zmateni: v horním řádku napíšeme CO se má zobrazit na obrazovce, a pak (dole) - pod JAKOU PODMÍNKOU.


Cvičení: Napište výraz, který se zobrazí v jedné buňce příjmení vlastníka a v závorce město, ve kterém žije. Takhle: Ivanov (Moskva). Město a příjmení je nutné zadat z tabulky.

Tvůrce výrazů

Aby bylo úpravy výrazů pohodlnější, existuje speciální editor - "Expression Builder". Vypadá to takto:



A volá se pomocí kontextové nabídky: musíte umístit kurzor na buňku, kam budete psát výraz:



V Tvůrci výrazů si můžete vybrat z knihovny funkcí:



a data z tabulek (můžete použít POUZE ty tabulky, které jsou použity v tento požadavek a zobrazí se v datové oblasti):



Když poklepete na název pole nebo funkci ze seznamu, Access často vloží slovo „výraz“, které označuje, že NA TOTO MÍSTO lze vložit další funkce a názvy polí. Nezapomeňte odstranit zbytečná slova „výraz“!


Podíváme se na textové a časové funkce a také na podmíněný příkaz Iif(podmínka; je-li-pravda; je-li-nepravda).


Text funkce umožňují převádět řetězcové proměnné:
Left("Ivanov"; 2) = "Ivanov" ponechává n vlevo znaků
LCase("Ivanov") = Ivanov dělá všechna písmena malými
InStr(1; "Ivanov"; "ale") = 4 najde podřetězec (třetí argument) v řetězci (druhý argument) a rovná se pozici (od začátku) podřetězce v řetězci
Len (“Ivanov”) = 6 zobrazuje počet znaků v řádku
StrComp("Ivanov"; "Petrov") = -1 porovná dva řetězce: pokud jsou stejné, vrátí 0
a další…


Dočasný vám umožní pracovat s dočasnými proměnnými:
Měsíc(#12.04.2007#) = 4
Rok(#12.04.2007#) = 2007
Den(#12.04.2007#) = 12.
Now() = 04/28/2008 14:15:42 (aktuální datum a čas)
Datum() = 28.04.2008 (dnešní datum)
DateDiff("d"; #12.04.2007#; #28.04.2007#) = 16 najde rozdíl mezi dvěma daty („d“ – ve dnech, ww – v týdnech, m – v měsících, yyyy – v letech atd. .)
a další…


hlavolam zpracovat podmíněné výrazy:
Iif(<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
a další…


Cvičení: napište výraz, který tvoří příjmení s iniciálami z příjmení, jména a patronyma. Ivanov Ivan Ivanovič -> Ivanov I.I.
Cvičení
Cvičení
Přidání: Existují dva způsoby, jak vypočítat věk psa: jeden přesnější, druhý méně:
1) od aktuálního roku odečtěte rok narození psa;
2) pomocí funkce DateDiff spočítejte, kolik dní uplynulo od narození do dneška. Použijte jednu metodu v jednom úkolu a jinou v jiném.

Dotazy s parametrem

Když běžíš požadavek s parametrem, na rozdíl od běžného požadavku na výběr se neprovede okamžitě, ale nejprve vás požádá o vyjasnění některých podmínek výběru v dialogovém okně. Například chceme získat úplné informace o psa s určitým turnajovým číslem.



Tento požadavek je strukturován takto:



Na místě, kde obvykle stojí podmínka výběru, je nyní napsána otázka (v hranatých závorkách), která bude uživateli položena. A odpověď uživatele, jak jste možná uhodli, bude vložena do této buňky jako podmínka výběru.


Cvičení: Vytvořte dotaz, který vrátí všechny psy na základě příjmení majitele, což je volný parametr.

Dotazy se seskupováním

Pomocí tvůrců výrazů můžeme provádět operace na jednom řádku: přidávat hodnoty do buněk, transformovat data.
Co když ale potřebujeme zpracovat více řádků najednou: vypočítat součet bodů, zjistit počet řádků se stejnou hodnotou daného pole?
To se provádí pomocí seskupování (velmi podobné sumarizaci v Excelu).


Spočítejme, kolik psů každého plemene přišlo na výstavu. Chcete-li to provést, přesuňte do oblasti podmínek pouze dvě pole: jméno a plemeno – a zavolejte na další linku skupinové operace(přes kontextovou nabídku v oblasti podmínek):



Nyní seskupíme psy podle plemene a spočítáme počet různých přezdívek v každé skupině:



Shrňme si výsledky výstavy a vypočítejme průměrné hodnocení exteriéru, průměrné hodnocení výcviku a jejich součet.


Přidejte tabulku s hodnocením (tbMarks) do oblasti tabulky. Odhady seskupíme podle turnajového čísla psa a ze skupinových operací vybereme průměrnou hodnotu Avg (z angl. průměrný- průměrný).


Spusťte dotaz a v režimu zobrazení si všimněte, že sloupce se skupinovými operacemi mají dvojitý název (operace + název pole). To se nám bude hodit při výpočtu součtu bodů.





Hodnoty můžete také zaokrouhlit na jedno desetinné místo: Kolo(+;1)


Cvičení: Zjistěte, který pes byl mezi rozhodčími nejkontroverznější. Chcete-li to provést, musíte odečíst minimum od maximálního skóre.

Žádosti o změny, výmazy, doplnění

V první lekci jsme již mluvili o tom, že dotazy umožňují nejen prohlížet data z tabulek, ale také záznamy upravovat: přidávat nové, mazat je, měnit. Typ dotazu můžete změnit pomocí seznamu dotazů na panelu nástrojů.



Provozovatel databáze obdržel v předvečer výstavy nové informace:
1) pes Desi je nemocný a nebude se moci zúčastnit výstavy;
2) omylem byl Guardian, který je ve skutečnosti anglický setr, uveden jako irský setr;
3) majitelka Migunova podala přihlášku k účasti na výstavě dalšího svého psa (přezdívka: Harry, plemeno: Gordon setr, pohlaví: m, datum narození: 15.09.07).


Začněme editovat databázi.
1) Smazat záznam z Desi.
Vytvořte požadavek quDelDog. Typ požadavku – pro smazání. Se změnou typu požadavku se poněkud mění i oblast podmínek. Objevila se nová buňka Odstranění. Pod ním určíte podmínku, podle které chcete vybrat záznamy ke smazání. I když zadáte podmínku výběru pro jedno pole, CELÝ záznam bude smazán.



Po kliknutí na „vykřičník“ se na obrazovce objeví zpráva, že záznam byl smazán. Nyní otevřeno tbPsí stůl a ujistěte se, že v něm není Desi.


2) V Guardianu změňte irského setra na anglického setra.
Vytvořte požadavek quUpdateDog. Typ požadavku – aktualizace. Najdeme Guardiana a aktualizujeme jeho plemeno.



OTEVŘENO tbPsí stůl a ujistěte se, že Guardianovo plemeno je anglický setr.


3) Přidejte záznam s Harrym.
Vytvořte požadavek quAddDog. Typ požadavku – přidat. Přidání dotazů má jednu vlastnost: oblast tabulky NEzobrazuje tyto tabulky, KAM přidáváte záznam, ale ODKUD data přebíráte (pokud je to požadováno). Cílovou tabulku (do které se přidávají záznamy) určíte v dialogovém okně, které se zobrazí, jakmile nastavíte typ dotazu (pro přidání):



Protože nepřebíráme data z jiných tabulek, ale vytváříme nový záznam, oblast tabulky musí být PRÁZDNÁ! (neměly by tam být žádné tabulky). V oblasti podmínek na lince Pole napíšete CO přidat (nová hodnota pro každé pole) a do řádku Přidání WHERE (názvy polí):



OTEVŘENO tbPsí stůl a ujistěte se, že se v něm objeví Harry!

Jazyk SQL dotazy

Po kliknutí na "vykřičník" se požadavek provede. Takhle to vypadá začátečníkovi.
Profesionálové vědí, že v tuto chvíli se ve skutečnosti provádí instrukce ve speciálním dotazovacím jazyce SQL. Faktem je, že Access není jediným systémem pro správu databází (DBMS). Možná jste slyšeli o takových DBMS na internetu jako MySQL, FreeBSD??? Access prostě nabízí velmi uživatelsky přívětivé rozhraní pro práci s databází a v jiných řídicích systémech žádné tlačítko není vykřičník. Vždy je ale k dispozici speciální okno, do kterého můžete psát instrukce SQL.
Access také umožňuje upravovat dotazy v režimu příkazů SQL:



Pravidla jazyka SQL nejsou tak složitá. O tom se můžete přesvědčit sami! Proveďte jednoduchou žádost o výběr (například zobrazte jméno, plemeno a datum narození psa jménem Harry). Nyní otevřete Harryho vyhledávací dotaz v režimu SQL!
Návod je velmi jednoduchý:
VYBERTE pole1, pole2,…
Z tabulky 1, tabulky 2,…
KDE podmínka1, podmínka2,…


Nyní otevřete aktualizaci, změňte, odstraňte dotazy (quDelDog, quUpdateDog, quAddDog) v režimu SQL a zapište si šablony jejich příkazů SQL na kus papíru (jako právě u výběrového dotazu).


Dotazy s parametrem, dotazy na seskupování, dotazy s výpočty jsou stejné SQL dotazy, ale jen s trochu složitějšími podmínkami výběru. Jazyk SQL je nepostradatelným nástrojem pro ty, kteří pracují s databázemi!

Úkoly

Zde jsou témata, která jsme probrali:
- podmínky jednoduchého a složeného výběru
- LIKE operátor
- výběr z několika tabulek
- tvůrce výrazů
- požadavky s parametrem
- žádosti o seskupení
- požadavky na aktualizaci, přidání, smazání
- SQL dotazovací jazyk.


Je jich hodně! Jakmile je však zvládnete, můžete v databázi najít jakékoli informace.


Otestujte si své znalosti! Spusťte ve své databázi následující dotazy (nebo přejmenujte ty, které již byly provedeny, aby se jejich názvy shodovaly s názvy úkolů):

1. vzorek

quSelectDog: Najděte všechny šarpeje a gordonsetry z regionů (NE z Moskvy); použijte operátor "není rovno".

2. Jako operátor

quLike: Vyhledejte všechny odběratele MTS (ty s mobilní telefon začíná 8(916)…).

3. výrazy

quEvalText: Napište výraz, který tvoří příjmení s iniciálami z příjmení, jména a patronyma. Ivanov Ivan Ivanovič -> Ivanov I.I.
quEvalDate: Napište výraz, který vypočítá, jak starý je pes podle data narození.
quEvalIif: napište výraz, který podle věku určí, do jaké věkové kategorie pes patří: „štěně“ - do roku; „junior“ - od jednoho do dvou let; "Senior" - starší než dva roky.
Přidání: Použijte jeden způsob pro výpočet věku psa v jednom úkolu a jiný v jiném: 1) odečtěte rok narození psa od aktuálního roku; 2) pomocí funkce DateDiff spočítejte, kolik dní uplynulo od narození do dneška.

4.parametr

quParameter: Vytvořte dotaz, který vrátí všechny psy na základě příjmení majitele, což je volný parametr.

5. seskupení

quGroup: Zjistěte, který pes způsobil nejvíce protichůdné názory rozhodčích.

6. editace databáze

Krátce před výstavou odjel majitel Gorokhovets k trvalému pobytu (trvalému pobytu) v Německu a všechny psy předal svému příteli Michailu Igorevičovi Karpovovi. Požadované:
1) quAddOwner: přidat záznam o novém majiteli;
2) quUpdateOwner: změnit ID vlastníka psů Gorochovců na Karpovovo ID;
3) quDelOwner: odstranit Gorokhovets z databáze.


Čekám na vaše databáze s dokončenými úkoly a také šablony SQL instrukcí pro požadavky na aktualizaci, změnu a smazání.

Existují čtyři typy požadavků na změnu: odstranění, aktualizace a přidání záznamů a vytvoření tabulky.

Žádost o odstranění odstraní skupinu záznamů z jedné nebo více tabulek. Požadavek na smazání vám například umožňuje smazat záznamy o produktech, které již nejsou skladem nebo pro které neexistují žádné objednávky. S požadavkem na odstranění můžete smazat pouze celý záznam, nikoli jednotlivá pole v něm.

Žádost o aktualizaci záznamů provádí obecné změny skupiny záznamů v jedné nebo více tabulkách. Například ceny všech mléčných výrobků rostou o 10 procent nebo platy zaměstnanců v určité kategorii o 5 procent. Dotaz na aktualizaci záznamu umožňuje změnit data v existujících tabulkách.

Žádost o přidání přidá skupinu záznamů z jedné nebo více tabulek na konec jedné nebo více tabulek. Požadavek na přidání je také užitečný, když děláte následující:

Přidání polí na základě podmínek výběru;

Přidání záznamů, pokud některá pole z jedné tabulky neexistují v jiné. Připojovací dotaz přidá data do odpovídajících polí a zbytek přeskočí.

Dotaz na vytvoření tabulkyS Vytvoří novou tabulku založenou na všech nebo části dat z jedné nebo více tabulek. Dotaz na vytvoření tabulky je užitečný pro následující:

Vytvoření tabulky pro export do jiné databáze Microsoft Access;

Vytváření sestav obsahujících data z více tabulek;

Stvoření záložní kopie tabulky.

Vytvoření archivní tabulky obsahující staré záznamy;

Vylepšený výkon formulářů a sestav založených na vícetabulkových dotazech nebo výrazech SQL.

Výběr dat z jedné tabulky

V režimu tabulky můžete s daty této tabulky provádět různé operace: prohlížet, třídit, filtrovat atd. Jednou z výhod dotazů je, že umožňují rychle vybrat potřebná data z několika souvisejících tabulek. Navíc všechny techniky používané při práci s jednou tabulkou jsou vhodné i pro složité dotazy na více tabulek.

Po spuštění výběrového dotazu Microsoft Access vytvoří sadu záznamů obsahující vybraná data, se kterými můžete pracovat stejným způsobem jako s tabulkou.

Nejjednodušší způsob, jak vytvořit dotaz na základě jedné tabulky, je tento: otevřete okno databáze, vyberte kartu v okně databáze Žádosti, zmáčknout tlačítko Vytvořit, v novém okně vyberte režim Konstruktér A OK. V dalším okně "Přidat tabulku" vyberte požadovanou tabulku a poté klepněte na tlačítka Přidat A Zavřít.

Okno návrháře dotazů (obr. 10.1) je rozděleno na dvě části. V horní části jsou seznamy polí tabulky nebo dotazu, na základě kterých je vytvořen nový dotaz. Ve spodní části je formulář QBE (dotaz po vzorku), ve kterém se provádí práce na vytvoření požadavku. Každý sloupec formuláře představuje jedno pole použité v požadavku.

První řada Formulář dotazu se používá k výběru polí, kterým lze přiřadit názvy, které se použijí při zobrazení záznamů dotazu. Ve druhém řádku Formulář dotazu zobrazuje název tabulky, ze které bylo pole vybráno. V třetí řádek formuláře, můžete určit, které sloupce chcete seřadit. Zaškrtávací políčka v řádku formuláře Výstup na displeji jsou zodpovědní za zobrazení polí v sadě záznamů. Ve výchozím nastavení se zobrazují všechna pole obsažená ve formuláři žádosti. Pro zadání podmínky pro výběr záznamů použijte řádek Podmínka výběru.

Obr. 10.1. Okno Query Builder

Včetně polí v žádosti. Chcete-li do formuláře žádosti zahrnout pole, musíte je vybrat v tabulce a přetáhnout je myší do odpovídajícího pole formuláře žádosti.

Nastavení vlastností pole. Obecně platí, že pole v dotazu mají stejné vlastnosti jako v tabulce, ze které jsou přenášena. Můžete však nastavit jiné hodnoty vlastností. Chcete-li to provést, klikněte na libovolnou buňku odpovídajícího sloupce ve formuláři žádosti a stiskněte tlačítko Vlastnosti na panelu nástrojů. Poté se zadají vlastnosti pole.

Zadání podmínek výběru. Pokud potřebujete vybrat záznamy s konkrétní hodnotou pole, musíte ji zadat do buňky Stav výběr toto pole. Textová hodnota jako podmínka je uzavřena v uvozovkách. Při zadávání podmínky výběru můžete použít znaménka vztahu < , >, >=, <=, =,< > a logické operace nebo, a.

Access navíc poskytuje speciální operátory pro výběr datového výstupu v dotazu:

mezi- definuje rozsah hodnot. Mezi 10 a 20 znamená totéž jako výraz >=10 a <=20 ;

v- určuje seznam hodnot použitých pro porovnání. Výraz v(“ wa”,” ca”,” id”) znamená totéž jako výraz wa nebo ca nebo id ;

jako- tento operátor vám umožňuje používat při výběru textových polí následující symboly: ?, *,# . Symbol # označuje, že daná pozice musí obsahovat číslo, symboly ? A * mají stejný účel jako v OC MS DOS názvy souborů.

Například, jakoB*” - znamená, že musíte vybrat pole začínající písmenem V.

Přístup zpracuje podmínky výběru pro data a časy v libovolném formátu. Při zadávání musí být datum nebo čas ohraničeny # symboly. Například #15. dubna 1998#, #15/04/98# definují stejné datum.

Access poskytuje několik funkcí, které můžete použít při nastavování kritérií filtrování pro data a časy:

den(datum)- vrací hodnotu dne v měsíci v rozsahu od 1 do 31. Pokud potřebujete vybrat záznamy s konkrétními dny v měsíci, nastavte počítané pole, například den([datum_objednávky]) a zadejte podmínku výběru například >10. V tomto případě jsou vybrány všechny záznamy polí, jejichž vypočítané pole je >10;

Měsíc(datum)- vrátí hodnotu měsíce v roce v rozsahu od 1 do 12;

rok(datum)- vrátí hodnotu roku v rozsahu od 100 do 9999;

všední den(datum)- vrátí celé číslo od 1 (neděle) do 7 (sobota), odpovídající dni v týdnu;

datum() - vrátí aktuální systémové datum.

Vypočítaná pole. Můžete provádět výpočty na libovolných polích tabulky a provést vypočítaný výraz jako nové pole v sadě záznamů. V tomto případě můžete použít libovolné funkce integrované do Accessu a provádět aritmetické operace s poli tabulky pomocí operátorů: +, -, *, /, \, ^, mod, &. Řekněme například, že existuje název pole s názvem „ Množství“, kde počet jednotek produktu a pole „ Cena , kde se evidují náklady na jednotku zboží. Poté, abyste vypočítali náklady na zboží, musíte zadat výraz do prázdného pole formuláře žádosti Množství*Cena a hodnoty těchto polí se vynásobí.

Zadání názvů vypočítaných polí. Když vytvoříte jakýkoli výraz ve formuláři dotazu, Access umístí výchozí název pole "Výraz 1:". Můžete změnit nebo přiřadit názvy polí, což je důležité, pokud je potřebujete použít v sestavě nebo jiných dotazech. To se provádí pomocí okna vlastností. Chcete-li to provést, klikněte na libovolnou buňku odpovídajícího sloupce a stiskněte tlačítko Vlastnosti na panelu nástrojů a vyberte Podpis.

Parametrické dotazy. Podmínky požadavku lze zahrnout přímo do poptávkového formuláře, ale aby to bylo univerzálnější, místo konkrétní hodnoty výběru můžete do požadavku uvést parametr, tzn. vytvořit parametrický dotaz.

Chcete-li to provést, zadejte do řádku „Podmínka výběru“ frázi v hranatých závorkách, která se během dialogu zobrazí jako „nápověda“, například [Zadejte příjmení]. Těchto parametrů může být několik, každý pro své vlastní pole, a název každého parametru musí být jedinečný.

Třídění dat. Access obvykle zobrazuje záznamy v pořadí, v jakém byly načteny z databáze. Pořadí výstupu dat můžete změnit nastavením pořadí řazení Vzestupně nebo Klesající.

Závěrečné dotazy. Někdy nás nezajímají jednotlivé záznamy tabulky, ale celkové hodnoty pro skupiny dat. Potřebujete například zjistit průměrný objem prodeje za každý měsíc zvlášť. To lze provést pomocí souhrnného dotazu. Chcete-li to provést, musíte kliknout na tlačítko Skupinové operace se objeví na panelu nástrojů a ve formuláři nový řádek s tímto jménem. V tomto případě se seskupení provádí podle všech polí zadaných ve formuláři, ale výsledek se nesčítá. Abyste dosáhli výsledků, musíte je vyměnit Seskupování v souladu Skupinový provoz ke konkrétním finálním funkcím.

Access poskytuje několik funkcí umožňujících skupinové operace. Ty hlavní:

součet- vypočítá součet všech hodnot daného pole v každé skupině. Používá se pouze pro číselná a měnová pole;

prům- Vypočítá aritmetický průměr všech hodnot daného pole v každé skupině;

min, max- vypočítá nejmenší (největší) hodnotu pole v rámci skupiny;

počet- vypočítá počet záznamů, ve kterých se hodnoty tohoto pole liší Nula.

Výběr záznamů do skupin. Do skupin finálních dotazů možná nezahrnete některé záznamy. Chcete-li to provést, musíte do formuláře žádosti přidat jedno nebo více polí filtru. Chcete-li vytvořit filtr na řádku Operace skupiny, vyberte nastavení Stav, zrušte zaškrtnutí políčka Výstup na displeji Pro toto pole je zavedena podmínka výběru.