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 se dotaz v accessových databázích při spuštění zeptal na kritéria, vytvořte parametrický dotaz. To vám umožní opakovaně používat stejný dotaz, aniž byste ho museli neustále otevírat v návrhovém zobrazení a upravovat kritéria.

Vysvětlení terminologie

Než se pustíte do podrobného postupu níže, je užitečné porozumět těmto pojmům:

  • Parametr Parametr je informace, kterou zadáte do dotazu přímo při jeho spuštění. 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 a určíte, které položky se vrátí 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 se podobá přidání normálního kritéria do dotazu:

  1. Vytvořte výběrový dotaz a pak ho otevřete 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í dotazu najdete v tématu Příklady kritérií dotazu.

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 ve skupině Zobrazit nebo skrýt klikněte na 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 nemůžete zobrazit sjednocovací dotaz v návrhové mřížce dotazu, budete muset udělat něco 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 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:

  1. Vytvořte výběrový dotaz a pak ho otevřete 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 * & [Enter country/region:] & *

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/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í parametru

Místo toho, aby dotaz vracel položky, které odpovídají vašemu parametru, můžete chtít, aby dotaz vracel položky, které mu 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 nalevo od první hranaté závorky zadáte relační operátor, který ohraničuje výzvu k zadání parametru, >například [Zadejte rok:].

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