Pokud chcete, aby se dotaz v accessových databázích při spuštění zeptal na kritéria, vytvořte parametrický dotaz. Budete tak moct používat pořád stejný dotaz, který nebudete muset pokaždé otevřít v Návrhové zobrazení a upravit kritéria.
Vysvětlení terminologie
Než se pustíme do podrobného postupu, vysvětlíme si důležité termíny, které budeme používat:
-
Parameter: Parametr představuje informace, které při spuštění dotazu tomuto dotazu zadáte. Parametry můžete používat samostatně nebo jako součást složitějšího výrazu a vytvořit tak kritérium v dotazu. Parametry můžete přidat do všech těchto typů dotazů:
-
Výběrový
-
Křížový
-
Přidávací
-
Vytvářecí
-
Aktualizační
-
-
Kritéria: Kritéria jsou vlastně filtry, které přidáte do dotazu, abyste mohli určit, které položky dotaz při spuštění vrátí.
Další informace o uvedených typech dotazů najdete v článku Úvod k dotazům.
Vytvoření parametrického dotazu
Vytváření parametru je podobné přidávání normálního kritéria dotazu:
-
Vytvořte výběrový dotaz a pak ho otevřete v návrhovém zobrazení.
-
V řádku Kritéria pole, pro které chcete použít parametr, zadejte text, který se má zobrazit v poli Parametr, a dejte ho do hranatých závorek. Například: [Enter the start date:]
-
Zopakujte krok 2 pro všechna pole, ke kterým chcete přidat parametry.
Po spuštění dotazu se zobrazí výzva k zadání parametru (bez hranatých závorek).
Vyplňte hodnotu, kterou hledáte, a potom klikněte na OK.
Pro kritérium můžete použít i víc parametrů. Například Between [Enter the start date:] And [Enter the end date:] vygeneruje při spuštění dotazu dvě výzvy.
Zadání datových typů parametrů
Parametr můžete nastavit tak, aby se pro něj dal zadat jenom určitý typ dat. Docela důležité může být určení datového typu pro číselné hodnoty, měnu nebo taky pro datum a čas, protože v případě, že uživatel zadá nesprávný typ dat, například zadá text, když se bude očekávat hodnota měny, zobrazí se mu chybová zpráva, ze které se toho víc dozví.
Poznámka: Pokud je parametr nakonfigurován pro zadávání dat typu Text, bude za text považováno jakékoli zadání a nezobrazí se žádná chybová zpráva.
Pokud chcete zadat datový typ parametrů v dotazu, můžete to udělat takhle:
-
Otevřete dotaz v návrhovém zobrazení a na kartě Návrh dotazu ve skupině Zobrazit nebo skrýt klikněte na Parametry.
-
V okně Parametry dotazu zadejte ve sloupci Parametr výzvu pro každý parametr, pro který chcete zadat datový typ. Zkontrolujte, jestli každý parametr odpovídá výzvě použité v řádku Kritéria v návrhové mřížce dotazu.
-
Ve sloupci Datový typ vyberte datový typ pro každý parametr.
Přidání parametru do sjednocovacího dotazu
Sjednocovací dotaz nemůžete zobrazit v návrhové mřížce dotazu, takže budete muset postupovat trochu jinak:
-
Otevřete sjednocovací dotaz v zobrazení SQL.
-
Přidejte klauzuli WHERE obsahující pole, do kterých chcete přidat parametry.
Pokud už klauzule WHERE existuje, zjistěte, jestli už jsou v ní pole, do kterých chcete přidat parametry. Pokud ne, přidejte je.
-
Zadejte do klauzule WHERE svoji výzvu k zadání parametru, například: WHERE [StartDate] = [Enter the start date:]
Všimněte si, že do každé části dotazu musíte přidat stejný filtr. Na obrázku nad textem má dotaz dvě části (oddělené klíčovým slovem UNION), takže parametr je třeba doplnit dvakrát. Při spuštění dotazu se ale výzva objeví jenom jednou (když budeme předpokládat, že jste napsali výzvu v obou částech úplně stejně).
Další informace o sjednocovacích dotazech najdete v tématu Použití sjednocovacího dotazu ke kombinování více dotazů do jednoho výsledku.
Slučování parametrů pomocí zástupných znaků pro větší flexibilitu
Stejně jako u normálních kritérií můžete parametry kombinovat pomocí klíčového slova Like a zástupných znaků, aby se zadání shodovalo s větším počtem položek. Například můžete chtít, aby se při spuštění vašeho dotazu zobrazila výzva k zadání země/oblasti původu, ale aby se ve výsledcích dotazu objevily všechny hodnoty, které v sobě budou mít řetězec parametru. Udělejte toto:
-
Vytvořte výběrový dotaz a pak ho otevřete v návrhovém zobrazení.
-
V řádku Kritéria pole, u kterého chcete použít parametr, zadejte řetězec Like "*"&[, zadejte text výzvy a potom řetězec ]&"*".
Když spustíte parametrický dotaz, zobrazí se výzva v dialogovém okně bez hranatých závorek a bez klíčového slova Like nebo zástupných znaků:
Po tom, co zadáte parametr, vrátí dotaz hodnoty obsahující řetězec parametru. Například řetězec parametru us vrátí položky, u kterých má pole parametru hodnotu Austrálie, a položky s hodnotou USA.
Další informace o zástupných znacích najdete v tématu Příklady zástupných znaků.
Vrácení položek, které neodpovídají zadanému parametru
Místo toho, aby dotaz vrátil položky, které odpovídají vašemu parametru, může být potřeba, aby vrátil položky, které mu naopak neodpovídají. Třeba pokud budete chtít, aby se zobrazila výzva k zadání roku a pak se vrátily položky, u kterých rok následuje po zadaném roku. Uděláte to tak, že vlevo od první hranaté závorky, která uzavírá výzvu k zadání parametru, zadáte operátor porovnání, například: >[Enter a year:].
Video: Použití parametrů v dotazech
Použití parametru v dotazu je stejně snadné jako vytvoření dotazu, který používá kritéria. Můžete navrhnout dotaz, který vás vyzve k zadání jednoho údaje, třeba čísla položky, nebo k zadání více než jednoho údaje, například dvou kalendářních dat. Parametrický dotaz zobrazí pro každý parametr samostatné dialogové okno, které vás vyzve k zadání hodnoty tohoto parametru.
V tomto videu se můžete podívat, jak se vytvářejí parametry v dotazech.