Požádání uživatele o zadání kritérií při spuštění dotazu pomocí parametrů

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pokud chcete, aby Access po spuštění dotazu na databáze požádal o zadání kritérií, vytvořte parametrický dotaz. Budete tak moct používat pořád stejný dotaz, aniž byste ho museli pokaždé otevřít v návrhovém zobrazení a upravit kritéria.

Vysvětlení terminologie

Než se pustíme do podrobného postupu, vysvětlíme si důležité pojmy, které budeme používat:

  • Parametr 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ěr
    • Křížový
    • Přidávací
    • Vytvářecí
    • Aktualizační
  • Kritéria Kritéria jsou filtry, které přidáte do dotazu, abyste určili, které položky budou vráceny při spuštění dotazu.

Další informace o uvedených typech dotazů najdete v článku Úvod k dotazům.

Vytvoření parametrického dotazu

Vytvoření parametru je podobné přidání normálního kritéria dotazu:

  1. Vytvořte výběrový dotaz a otevřete ho v návrhovém zobrazení.
  2. 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:]
    Jednoduchý parametrický dotaz
  3. 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).

Výzva k zadání parametru s textem Zadejte počáteční datum:

Vyplňte hodnotu, kterou hledáte, a 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.

Parametrický dotaz se dvěma parametry.

Další příklady kritérií dotazů naleznete v tématu Příklady kritérií dotazů.

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:

  1. Otevřete dotaz v návrhovém zobrazení a na kartě Návrh dotazu klepněte ve skupině Zobrazit či skrýt na tlačítko Parametry.
  2. 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.
  3. Ve sloupci Datový typ vyberte datový typ pro každý parametr.

Přidání parametru do sjednocovacího dotazu

Vzhledem k tomu, že sjednocovací dotaz nejde zobrazit v návrhové mřížce dotazu, budete muset postupovat trochu jinak:

  1. Otevřete sjednocovací dotaz v zobrazení SQL.
  2. 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 nejsou, přidejte je.
  3. Zadejte do klauzule WHERE svoji výzvu k zadání parametru, například: WHERE [StartDate] = [Enter the start date:]
    Sjednocovací dotaz složený ze dvou částí s následující klauzulí v obou částech: WHERE StartDate = [Zadejte počáteční datum:]
    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 sloučení několika 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:

  1. Vytvořte výběrový dotaz a otevřete ho v návrhovém zobrazení.

  2. V řádku Kritéria pole, u kterého chcete použít parametr, zadejte řetězec Like "*"&[, zadejte text výzvy a potom řetězec ]&"*".

    Návrhová mřížka dotazu s následujícími kritérii ve sloupci Země: Like * & [Zadejte zemi/oblast:] & *

Po spuštění parametrického dotazu se výzva v dialogovém okně zobrazí bez hranatých závorek a bez klíčového slova Like a zástupných znaků:

Výzva k zadání parametru s textem Zadejte zemi nebo oblast.

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.

Viz také

Příklady kritérií dotazů

Použití parametrů v dotazech, formulářích a sestavách