1. Určení požadovaných polí
2. Nastavení vlastností polí
3. Zadání výběrových kritérií
3.1 Operátor AND versus OR
3.2 Klauzule BETWEEN, IN a LIKE
3.3 Definování aritmetických výrazů
3.4 Použití Tvůrce výrazů
K procvičování této kapitoly doporučujeme si stáhnout tzv. cvičná data z tohoto zdroje. Pokud budete pracovat podle níže uvedených vzorů, pak vaše výsledky by se měly shodovat s těmito předlohami a vy budete mít jistotu, že dotaz máte zapsán správně!
1. Určení požadovaných polí dotazu
Prvním krokem při vytváření dotazů je výběr polí, která chceme mít v dotazu. Toto můžeme učinit několika způsoby:
- za použití klávesnice – se můžeme v návrhové mřížce pomocí tabulátoru přesunout na nějaký dostupný sloupec a stiskem kláves Alt – šipka dolů otevřít seznam dostupných polí
- pomocí myši – přetažením ze seznamu polí v horní části okna do jednoho ze sloupců v návrhové mřížce
- pomocí myši – 2x kliknout na pole v seznamu polí v horní části okna do jednoho ze sloupců v návrhové mřížce
V každém seznamu polí v horní části okna Dotaz je nahoře symbol hvězdičky (*). Ten je označením pro všechna pole v této tabulce nebo dotazu. Chceme-li tedy při výběru požadovaných polí vybrat právě všechna pole, pak toto je to správné místo. Většinou toto ale nepotřebujeme, neboť chceme vybrat a vybíráme si konkrétní pole (jak je ukázáno na níže uvedeném obrázku).
A takto to vypadá v prostředí MS Access 2010:
Výsledné určení požadovaných polí dotazu v prostředí MS Access 2010:
2. Nastavení vlastností polí
Pole, která jsou výstupem dotazu, obecně dědí vlastnosti, které jsou pro tato pole definovány v tabulce. Definovat však můžeme (chceme-li) jinou vlastnost podle nabídky „Vlastnost pole“. Pro nastavení vlastností klikneme pravým tlačítkem myší na libovolný řádek ve sloupci daného pole v návrhové mřížce a z nabídky vybereme možnost „Vlastnosti…“ .
Definovat můžeme jinou vlastnost, jak je patrné z výše uvedeného obrázku, pro: POPIS, FORMÁT, VSTUPNÍ MASKA a TITULEK.
Příklad: Chceme např. výslednou hodnotu dotazu zaokrouhlit na dvě desetinná místa, tedy nadefinovat jinou vlastnost než která je nastavena ve zdrojové tabulce. Pak to učiníme podle následujího vzoru: výraz na dvě desetinná místa
3. Zadání výběrových kritérií
Dalším krokem při tvorbě dotazu je definování kritérií pro jedno či více polí. K danému účelu můžeme použít následujících výrazů.
= | používá se k hledání přesně definovaného textu, nebo čísla |
< | hledá číslo menší, nebo text abecedně nižší, než uvedená hodnota |
> | hledá číslo větší, nebo text abecedně vyšší, než uvedená hodnota |
<> | hledá všechny záznamy nerovnající se uvedené podmínce |
Is Null | Hledá prázdné záznamy |
Is Not Null | Hledá neprázdné záznamy |
3.1 Operátor AND versus OR
Použití operátoru AND a OR si ukážeme pro názornější pochopení na příkladu. K danému účelu využijeme cvičných dat ( stáhnout data ?)
Příklad: Chceme vypsat v dotazu pouze oddělení od č. 110 do č. 120 včetně:
Zápis dotazu
|
Výsledek dotazu
|
Poznámka: Uvozovky do výrazu vypisovat nemusíme, systém si je tam automaticky zavede sám….
Příklad: Chceme vypsat v dotazu pouze oddělení č. 110 a zároveň č. 120. K danému účelu použijeme operátor OR.
Zápis dotazu
|
Výsledek dotazu
|
Stejného výsledku však dosáhneme i s následujícím zápisem:
Zápis dotazu
|
Výsledek dotazu
|
3.2 Klauzule BETWEEN, IN a LIKE
Kromě porovnávacích operátorů nabízí Access tři speciální klauzule, které slouží k definování požadovaných dat v množině záznamů.
Klauzule | Popis |
BETWEEN | Určena pro specifikování rozsahu hodnot. Klauzule Between 110 And 120 je stejná, jako určení >= 110 And <= 120. |
IN | Určena pro specifikování seznamu hodnot, z nichž libovolná může odpovídat vyhledávanému poli. Klauzule In („110“; „120“) se shoduje s klauzulí „110“ Or „120“. |
LIKE | Určena pro vyhledávání vzorů v textových polích. |
* | Používá se pro nahrazení jakéhokoliv počtu znaků v řetězci |
? | Používá se pro nahrazení jednoho znku v řetězci |
Použití jednotlivých klauzulí si ukážeme opět na příkladech.
Příklad: Již nám známý … Chceme vypsat oddělení od č. 110 do č. 120 včetně. K danému účelu ale použijeme klauzuli BETWEEN.
Zápis dotazu
|
Výsledek dotazu
|
Příklad: Opět již náš známý … Chceme vypsat v dotazu pouze oddělení č. 110 a zároveň č. 120. K danému účelu ale použijeme klauzuli IN.
Zápis dotazu
|
Výsledek dotazu
|
Příklad: Chceme vypsat kategorie, resp. subkategorie lesa ochranného. K danému účelu použijeme klauzuli LIKE.
Zápis dotazu
|
Výsledek dotazu
|
Na majetku se z ochranných lesů nachází pouze subkategorie 21a. |
Příklad: Chceme vypsat konkrétní subkategorii lesa zvláštního určení (subkategorii 32). K danému účelu použijeme klauzuli LIKE.
Zápis dotazu
|
Výsledek dotazu
|
Příklad: Chceme vypsat etáže, které jsou zařazeny do kategorie lesa zvláštního určení a číslo jejich hospodářského souboru přitom odpovídá kategorii lesa hospodářského.
Zápis dotazu | Výsledek dotazu |
3.3 Definování aritmetických výrazů
K definování aritmetických výrazů můžeme použít níže uvedených výrazů.
Výraz | Charakteristika výrazu |
+
|
Sečítá dva číselné výrazy. |
–
|
Odečítá dva číselné výrazy. |
*
|
Násobí dva číselné výrazy. |
/
|
Dělí první číselný výraz druhým číselným výrazem. |
\
|
Zaokrouhluje oba číselné výrazy na celá čísla a dělí první celé číslo druhým celým číslem. Výsledek je zaokrouhlen na celé číslo. |
^
|
Umocní první číselný výraz mocninou, která je určena druhým číselným výrazem. |
K pochopení rozdílů mezi výrazy „/“ a „\“ použijeme následujícího příkladu.
Příklad: Chceme vypočítat průměrnou plochu oddělení (ODD) na cvičném majetku (opět z dat cvičné databáze). Výsledek dotazu vznikne podílem celkové plochy majetku a počtu jeho oddělení.
Výsledek dotazu na průměrnou plochu oddělení s využitím následujících výrazů: | |
„/“
|
„\“
|
3.4 Použití Tvůrce výrazů
K snadnějšímu zápisu složitých výrazů nabízí Access tzv. Tvůrce výrazů. Tvůrce výrazů vyvoláme tak, že klikneme do buňky „Pole“ ve spodní části návrhu dotazu, klikneme pravým tlačítkem myší a vybereme možnost „Sestavit“.
Téhož dosáhneme, když klikneme do buňky „Pole“ ve spodní části návrhu dotazu a z horní nabídkové lišty vybereme ikonu Tvůrce výrazů .
Objeví se následující dialogové okno:
V horní části tohoto okna je prázdné textové pole, ve kterém můžete vytvářet výrazy.
Výraz můžete zadat sami, někdy je však přesnější nalézt názvy polí, operátory a funkce v příslušném poli se seznamem v dolní části okna a použít tlačítka operátorů pod kontextovými poli.