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

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Pokud chcete uživatele o zadání kritérií při každém spuštění dotazu, můžete vytvořit Parametrický dotaz.

Můžete také vytvořit formulář a shromáždit různé parametrické hodnoty. Pomocí formuláře lze provádět následující akce:

  • Používat ovládací prvky specifické pro určité datové typy

  • Povolit trvalost dat parametrických hodnot

  • Používat ovládací prvky polí se seznamy (umožňující výběr hodnoty ze seznamu namísto jejího celého zadávání)

  • Používat další ovládací prvky dostupné ve formulářích

Tento článek obsahuje přehled parametrů a objasňuje jejich používání v dotazech a možnosti jejich širšího využití prostřednictvím formulářů.

V tomto článku

Přehled

Použití parametrů v dotazech

Zadání datových typů parametrů

Vytvoření formuláře pro zadání parametrů

Přehled

Pomocí kritérií můžete v dotazu aplikace Access omezit množství záznamů, které dotaz vrátí. Zvažte využití následujícího scénáře.

Předpokládejme, že používáte dotaz nazvaný Poslední objednávka, který vrátí názvy a adresy zákazníků a datum, kdy jste vyřídili jejich poslední objednávku. Před několika dny jste do svého katalogu zboží zařadili skvělé nové produkty. Ke každé expedované objednávce proto přikládáte nejnovější katalog. Jste přesvědčeni, že nové produkty jsou opravdu mimořádně zajímavé, a proto chcete mít jistotu, že se o nich dozvědí všichni zákazníci. Chcete proto odeslat nový katalog všem zákazníkům, kteří jej ještě neobdrželi s expedovaným zbožím.

Chcete tedy vytvořit seznam adresátů obsahující jména a adresy těch zákazníků, jejichž poslední objednávka byla expedována ještě před uvedením nového katalogu. Použijete k tomu kritérium v poli data expedice v dotazu Poslední objednávka. Toto kritérium určuje, že datum v poli expedice má být starší než datum, kdy jste zahájili distribuci nového katalogu, například 31. března 2009. Po spuštění dotazu se zobrazí seznam adresátů obsahující pouze zákazníky, kteří dosud neobdrželi nejnovější katalog.

Co když se však tato situace zopakuje? Návrh dotazu můžete upravit změnou hodnoty určené kritériem, nicméně by bylo příjemné, kdyby dotaz mohl zobrazit žádost o zadání data a pak toto datum použít při rozhodování, kteří zákazníci mají být zahrnuti do seznamu adresátů. Dotaz můžete takto nastavit pomocí speciálního druhu kritéria nazývaného parametr.

Může se stát, že dialogová okna parametrického dotazu nebudou pro vaše účely dostačující. V takových případech můžete vytvořit formulář, který bude lépe splňovat vaše potřeby zadání parametrů. Tento článek popisuje způsob vytvoření formuláře k zadání parametrů sestavy.

Tento článek předpokládá základní znalosti vytváření dotazů. Před pokračováním by bylo vhodné, abyste znali alespoň postup vytváření výběrového dotazu.

Další informace o tom, jak vytvoření výběrového dotazu naleznete v článku Výběr dat pomocí dotazu. Další informace o dotazech obecně naleznete v článku Úvod k dotazům.

Tento článek obsahuje příklady použití parametrů v dotazech. Nejedná se o kompletní přehled možností zadávání kritérií.

Další informace o zadávání kritérií naleznete ve článku Příklady kritérií dotazů.

Začátek stránky

Použití parametrů v dotazech

Použití parametrů v dotazu je stejně snadné jako vytvoření dotazu obsahujícího kritéria. Můžete navrhnout dotaz, který zobrazí výzvu k zadání jedné informace, například čísla dílu, nebo několika informací, například dvou dat. Parametrický dotaz zobrazí pro každý parametr samostatné dialogové okno, které zobrazí výzvu k zadání hodnoty daného parametru.

Přidání parametru do dotazu

  1. Vytvořte výběrový dotaz a pak dotaz otevřete v Návrhové zobrazení.

  2. V řádku Kritéria pole, pro něž chcete parametr použít, zadejte v hranatých závorkách text, který chcete zobrazit v dialogovém okně pro zadání parametru, například:

    [Datum zahájení]

    Po spuštění parametrického dotazu se výzva zobrazí v dialogovém okně bez hranatých závorek.

    Ve výzvě k zadání parametru lze také používat výrazy, například:

    Mezi [čas zahájení] A [Čas ukončení]

    Poznámka : Zadání každého parametru proběhne v samostatném dialogovém okně. Ve druhém příkladu se zobrazí dvě dialogová okna: jedno pro zadání data zahájení a druhé pro datum dokončení.

  3. Zopakujte krok 2 pro všechna pole, k nimž chcete přidat parametry.

Pomocí předchozího postupu můžete přidat parametr do libovolného z následujících typů dotazů:

  • Výběrový

  • Křížový

  • Přidávací

  • Vytvářecí

  • Aktualizační

Parametr lze přidat také do sjednocovacího dotazu.

  1. Otevřete sjednocovací dotaz v zobrazení SQL.

  2. Přidejte klauzuli WHERE obsahující každé pole, pro které se má zobrazit výzva k zadání parametru.

    Pokud klauzule WHERE již existuje, zjistěte, zda pole, u nichž chcete použít výzvu k zadání parametru, jsou již součástí klauzule. Pokud zatím nejsou, přidejte je.

  3. Namísto kritéria zadejte v klauzuli WHERE výzvu k zadání parametru.

Porovnání části hodnoty pole s řetězcem parametru

Může se stát, že u způsobu využití parametru dotazem budete požadovat určitou variabilitu. Budete například chtít, aby řetězec přijal textový řetězec a porovnal jeho shodu s kteroukoli částí pole. To lze provést použitím klíčového slova Like v kombinaci se zástupnými znaky. Můžete například chtít, aby se v dotazu zobrazila výzva k zadání země nebo oblasti původu, přičemž za shodu se považuje každý případ, kdy hodnota příslušného pole obsahuje řetězec parametru. Postupujte následujícím způsobem:

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

  2. V řádku kritéria pole, pro kterou chcete použít parametr, zadejte jako "*" & [, zadejte text, který chcete použít jako výzva a potom zadejte ] & "*".

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

  3. Jestliže dotaz umožní zadání parametru, znamená to, že odpovídá hodnotám obsaženým v parametrickém dotazu. Například řetězec parametru us odpovídá řádkům, ve kterých je hodnota pole parametru Austrálie, a řádkům s hodnotou USA.

Pomocí klíčového slova Like a zástupných znaků můžete také určit, že parametr by měl odpovídat počátku nebo konci hodnoty pole. Chcete-li porovnávat počátek hodnoty pole, vynechejte uvozovky, zástupný znak a ampersand (&) před první hranatou závorkou. Jestliže chcete porovnávat konec hodnoty pole, vynechejte ampersand, uvozovky a zástupný znak za druhou hranatou závorkou.

Porovnání na základě nestejných hodnot

Možná budete chtít shromáždit parametr, ale nechcete dotaz vrátí řádky s odpovídající hodnotou, chcete dotaz vrátí řádky, pro které nějakého jiného porovnání vyhodnotí jako PRAVDA. Můžete třeba, objeví se výzva pro rok a vraťte se řádky, kde rok hodnotu větší než řetězce parametrů. Pokud chcete, zadejte operátor porovnání nalevo od prvního hranaté závorky, obsahující výzva k zadání parametru, například> [rok:].

Začátek stránky

Zadání datových typů parametrů

Můžete také zadat, jaké datové typy mají odpovídat jednotlivým parametrům. Můžete samozřejmě zadat datový typ pro libovolný parametr, ale zadání datového typu je zvlášť důležité pro číselná, měnová, kalendářní nebo časová data. Po zadání chybného datového typu daného parametru (například po zadání textu do pole měny) se uživateli zobrazí chybová zpráva s užitečnými informacemi.

Poznámka : Pokud je parametr nastaven pro zadávání textových dat, bude za text považováno jakékoli zadání a nezobrazí se žádná chybová zpráva.

Datový typ parametru v dotazu zadáte následujícím způsobem:

  1. Po otevření dotazu v návrhovém zobrazení klikněte na kartě Návrh ve skupině Zobrazit či skrýt na možnost Parametry.

  2. V dialogovém okně Parametry dotazu zadejte ve sloupci Parametr výzvu pro každý parametr, pro který chcete zadat datový typ. Ověřte, zda každý parametr odpovídá výzvě použité na řádku Kritéria v návrhové mřížce dotazu.

  3. Ve sloupci Datový typ vyberte datový typ pro každý parametr.

Začátek stránky

Vytvoření formuláře pro zadání parametrů

Přestože parametrické dotazy obsahují integrované dialogové okno pro zadávání parametrů, umožňují používat pouze základní funkce. Jestliže k zadání parametrů použijete formulář, budete moci využít také následující funkce:

  • Možnost používat ovládací prvky specifické pro určité datové typy, například ovládací prvky kalendáře u kalendářních dat.

  • Trvalost zadaných parametrů, tedy možnost použít je u více než jednoho dotazu.

  • Možnost zadání parametrů pomocí rozevíracích seznamů nebo seznamů hodnot, z nichž je možné vybírat dostupné datové hodnoty.

  • Možnost použití ovládacích prvků dalších funkcí, například pro otevření nebo obnovení dotazu.

Pomocí těchto kroků vytvoříte formulář pro zadání parametrů.

Krok 1: Vytvoření formuláře pro zadání vstupních hodnot

Krok 2: Vytvoření modulu pro kontrolu načtení parametrů z formuláře

Krok 3: Vytvoření skupiny maker pro ovládání formuláře

Krok 4: Přidání příkazových tlačítek OK a Storno do formuláře

Krok 5: Použití formulářových dat jako kritérií dotazu

Krok 1: Vytvoření formuláře pro zadání vstupních hodnot

  1. Na kartě Vytvořit klikněte ve skupině Formuláře na položku Návrh formuláře.

  2. V návrhovém zobrazení přejděte stisknutím klávesy F4 na list vlastností a potom zadejte vlastnosti formuláře pomocí hodnot popsaných v následující tabulce.

Vlastnost

Nastavení

Titulek

Zadejte název, který chcete zobrazit v záhlaví formuláře.

Výchozí zobrazení

Samostatný formulář

Povolit formulářové zobrazení

Ano

Povolit zobrazení Datový list

Ne

Povolit zobrazení kont. tabulky

Ne

Povolit zobrazení kont. grafu

Ne

Posuvníky

Žádná z možností

Voliče záznamů

Ne

Navigační tlačítka

Ne

Styl okraje

Dialogové okno

  1. Klepněte na položku Textové pole ve skupině Ovládací prvky na kartě Návrh u každého parametru, který má formulář shromažďovat.

  2. Nastavte vlastnosti textových polí podle následující tabulky.

Vlastnost

Nastavení

Název

Zadejte název, který dobře popisuje parametr, například Datum zahájení.

Formát

Vyberte formát, který odpovídá datovému typu pole parametru. Pro pole s kalendářními daty můžete například vybrat možnost Datum (obecné).

  1. Uložte formulář a pojmenujte jej, například Rozsah dat.

Krok 2: Vytvoření modulu pro kontrolu načtení parametrů z formuláře

  1. Na kartě Vytvořit klepněte ve skupině Jiné na položku Modul. Není-li tento příkaz k dispozici, klepněte na šipku pod tlačítkem Makro nebo pod tlačítkem Modul třídy a poté klepněte na položku Modul.

    Otevře se nový modul v programu Visual Basic Editor.

  2. V programu Visual Basic Editor zadejte nebo vložte následující kód:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
    If oAccessObject.CurrentView <> acCurViewDesign Then
    IsLoaded = True
    End If
    End If
    End Function
  3. Uložte modul a ukončete program Visual Basic Editor.

Krok 3: Vytvoření skupiny maker pro ovládání formuláře

  1. Na kartě Vytvořit klikněte ve skupině Jiné na položku Makro. Není-li tento příkaz k dispozici, klikněte na šipku pod tlačítkem Modul nebo pod tlačítkem Modul třídy a potom klikněte na položku Makro.

  2. Na kartě Návrh klikněte ve skupině Zobrazit/Skrýt na položku Zobrazit všechny akce.

  3. Na kartě Návrh klepněte ve skupinovém rámečku Zobrazit/Skrýt na položku Názvy maker k zobrazení sloupce Název makra.

  4. Zadejte název makra, například Otevřít dialogové okno, do sloupce Název makra.

  5. Klepněte na buňku ve sloupci Akce vedle nového názvu makra, klepněte na šipku rozevíracího seznamu a pak klepněte na položku OtevřítFormulář.

  6. V mřížce Argumentů akce (umístěné pod návrhové mřížky) nastavte argumentů akce uvedeno v následující tabulce.

Argument

Nastavení

Název formuláře

Zadejte název, který přiřadili formulář parametrů sestavy.

Zobrazení

Formulář

Režim dat

Úpravy

Režim okna

Dialogové okno

  1. Chcete-li přidat druhou akci, klepněte ve vedlejší buňce Akce na položku ZrušitUdálost. Tato akce bude použita ke zrušení předchozí nebo k vytištění sestavy, pokud uživatel klepne na tlačítko Storno ve formuláři.

  2. Jestliže se nezobrazí sloupec Podmínka, klepněte na položku Podmínky ve skupině Zobrazit či skrýt na kartě Návrh.

  3. Ve sloupci Podmínka zadejte Not IsLoaded, následovaný levou kulatou závorku a uvozovka následuje název dala formulář parametrů sestavy a potom následovaný uvozovky a napište pravou závorku. Například pokud formulář jmenuje Shromažďování parametrů, psaní Not IsLoaded("Shromažďování parametrů").

  4. Zadejte v dalším prázdném řádku návrhové mřížky makra název makra, například Zavřít dialogové okno.

  5. V sousední buňky Akce klikněte na šipku rozevíracího seznamu a potom klikněte na Zavřít. Tato akce použijí dotaz zavřete formulář parametrů. Argumenty akce nastavte, jak je ukázáno v následující tabulce.

Argument

Nastavení

Typ objektu

Formulář

Název objektu

Zadejte název, který přiřadili formulář parametrů sestavy.

Uložit

Ne

  1. Zadejte v dalším prázdném řádku návrhové mřížky makra název makra, například OK. V sousední buňce Akce klepněte na šipku rozevíracího seznamu a pak klepněte na položku NastavitHodnotu. Tato akce skryje formulář k zadávání parametrů sestavy, jestliže uživatel klepne na tlačítko OK. Nastavte argumenty akce podle následující tabulky.

Argument

Nastavení

Položka

[Viditelný]

Výraz

Ne

  1. Zadejte v dalším prázdném řádku návrhové mřížky makra název makra, například Storno. V sousední buňce Akce klepněte na šipku rozevíracího seznamu a pak klepněte na položku Zavřít. Tato akce zavře formulář k zadávání parametrů sestavy, jestliže uživatel klepne na tlačítko Storno. Nastavte argumenty akce podle následující tabulky.

Argument

Nastavení

Typ objektu

Formulář

Název objektu

Zadejte název, který přiřadili formulář parametrů sestavy.

Uložit

Ne

  1. Uložte a zavřete skupina maker. Pojmenujte skupina maker, například Datum oblast makra.

Krok 4: Přidání příkazových tlačítek OK a Storno do formuláře

  1. Znovu otevřete formulář rozsah kalendářních dat v návrhovém zobrazení.

  2. Ověřte, že na kartě Návrh ve skupině Ovládací prvky není vybrána možnost Průvodci ovládacími prvky.

  3. Na kartě Návrh klikněte ve skupině Ovládací prvky na položku Tlačítko.

  4. Umístěte ukazatel myši pod textová pole formuláře a pak přetažením vytvořte příkazové tlačítko OK.

  5. Není-li zobrazen seznam vlastností, zobrazte jej stisknutím klávesy F4.

  6. Nastavte vlastnosti tlačítka OK podle následující tabulky.

Vlastnost

Nastavení

Název

OK

Titulek

OK

Výchozí

Ano

PřiKliknutí

Zadejte název makra, například Datum Range.OK.

  1. Vytvořte příkazové tlačítko Storno a nastavte jeho vlastnosti podle následující tabulky.

Vlastnost

Nastavení

Název

Storno

Titulek

Storno

PřiKliknutí

Zadejte název makra, například Datum Range.Cancel.

  1. Uložte a zavřete formulář.

Krok 5: Použití formulářových dat jako kritérií dotazu

  1. Otevřete dotaz v návrhovém zobrazení.

  2. Zadejte kritéria pro data. Použijte objekt formuláře , název formuláře a název Ovládací prvek:

    • V databázi aplikace Access (.accdb nebo .mdb) například pro formulář nazvaný Rozsah dat použijete následující výraz jako odkaz na ovládací prvky v dotazu nazvané Datum zahájení a Datum dokončení:

      Mezi [Forms] ! [ Rozsah]! [ StartDate ] a [Forms]! [Rozsah dat]! [ EndDate ]

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×