200 likes | 408 Views
MS ACCESS - DOTAZY. DATABÁZOVÉ SYSTÉMY. K čemu jsou dotazy?. Zobrazení, úprava a analýza dat z tabulek Příkaz k výběru nebo změně dat v tabulce na základě nastavených podmínek Vytvoření dotazu: Návrhové zobrazení Průvodce. Vytvoření dotazu. „Vytvořit“ „Návrh dotazu“ Vložení tabulek
E N D
MS ACCESS - DOTAZY DATABÁZOVÉ SYSTÉMY
K čemu jsou dotazy? • Zobrazení, úprava a analýza dat z tabulek • Příkaz k výběru nebo změně dat v tabulce na základě nastavených podmínek • Vytvoření dotazu: • Návrhové zobrazení • Průvodce
Vytvoření dotazu • „Vytvořit“ • „Návrh dotazu“ • Vložení tabulek • Výběr polí • Nastavení vlastností dotazu (např. setřídění)
Vytvoření dotazu – vložení tabulek Je využita vytvořená relace Zde definuji kritéria dotazu
Kritéria dotazu • KritériaPopis >25 and <50 Toto kritérium lze použít u pole typu Číslo, jako je například pole Cena nebo JednotkyNaSkladě. Toto kritérium zahrnuje pouze záznamy, ve kterých pole Cena nebo JednotkyNaSkladě obsahuje hodnotu větší než 25 a menší než 50. • DateDiff ("rrrr", [DatumNarození], Date()) > 30 Toto kritérium je určeno pro pole typu Datum/čas, jako je například pole DatumNarození. Do výsledku dotazu jsou zahrnuty záznamy, ve kterých je počet roků mezi datem narození dané osoby a aktuálním datem větší než 30. • IsNull Toto kritérium lze použít u všech typů polí ke zobrazení záznamů s hodnotou pole Null.
Kritéria - texty • LIKE „S*“ , NOT LIKE „S*“ začíná/nezačíná na S • IS NULL je roven hodnotě NULL • NOT „hodnota“ není roven zadané hodnotě • „“ obsahuje prázdný řetězec (nikoli NULL) • OR, AND logický součet, logický součin • LIKE „[A-D]“ obsahuje písmena A,B,C,D • IN („text1“, „text2“) obsahuje pouze hodnoty text1 nebo text2 • LEN([nazev_pole]) = x délka textu v poli „nazev_pole“ je rovna x znaků • LIKE „K???“ začíná na K a má 4 znaky • Right([Země], 1) = "y„, Left([Země], 1) = „K"
Kritéria - čísla • IN • Matematické operátory - =, <, >, … • BETWEEN x and y • OR, AND • LIKE
Kritérium na datum • Přesně odpovídají určité hodnotě, například 2/2/2006. #2/2/2006# Vrátí záznamy transakcí provedených 2. února 2006. Nezapomeňte hodnotu data vložit mezi znaky #, aby bylo zřejmé, že jde o hodnotu kalendářního data a nikoli textový řetězec. • Neodpovídají určité hodnotě, například 3/3/2006. Not #3/3/2006# Vrátí záznamy transakcí provedených jindy než 3. března 2006. Obsahují hodnoty předcházející určitému datu, například 2/2/2006. < #2/2/2006# Vrátí záznamy transakcí provedených před 2. únorem 2006. • Chcete-li zobrazit transakce provedené k určitému datu či dříve, použijte operátor <= a nikoli operátor < .
Kritéria na datum – příklady použití funkcí • DatePart("m", [DatumProdeje]) = 12 • DatePart("č", [DatumProdeje]) = 1 čtvrtletí • Date(), Now() aktuální datum • Between Date() and Date()-6 • Year([DatumProdeje]) = Year(Now()) And Month([DatumProdeje]) = Month(Now())
Kritéria na přílohy • Chcete-li zahrnout záznamy, které neobsahují žádné přílohy, zadejte do řádku Kritéria hodnotu IsNull. • Chcete-li zahrnout záznamy s přílohami, zadejte hodnotu Is Not Null.
Dotaz - využití • Přes dotaz můžeme vkládat data (je-li definována relace, do více tabulek) • Pomocí kritérii můžeme zobrazit jen určitá data, které vyhovují zadané podmínce; zobrazená data lze třídit
Samostatná práce • Vytvořte dotaz nad tabulkami ODBERATEL a PRODEJ, které jsme vytvářeli v cvičení věnovaném relacím • Dotaz vytvořte tak, aby pomocí něho šlo vkládat data