Applies ToAccess pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Když chcete mít v Accessu dotaz, který bude při každém spuštění žádat o zadání, můžete vytvořit parametrický dotaz.

Můžete také vytvořit formulář pro shromáždění hodnot parametrů, které budou použité k omezení záznamů vrácených v dotazech, formulářích nebo sestavách. Tento článek vysvětluje, jak používat formuláře k vylepšení použití parametrů v dotazech, formulářích a sestavách.

V tomto článku

Základní informace

V Accessu můžete pomocí kritérií v parametrickém dotazu omezit sadu záznamů, které tento dotaz vrátí. Můžete zjistit, že dialogová okna zobrazovaná parametrickými dotazy nevyhovují vašim požadavkům. V takových případech můžete vytvořit formulář, který bude lépe splňovat vaše požadavky na shromažďování parametrů. Tento článek popisuje, jak vytvořit formulář, který shromažďuje parametry pro dotaz nebo sestavu. Tento článek předpokládá, že umíte vytvářet dotazy a definovat parametry v dotazech. Než budete pokračovat, měli byste alespoň umět vytvořit výběrový dotaz.

Tento článek obsahuje příklady použití parametrů v dotazech. Neobsahuje vyčerpávající informace o zadávání kritérií.

Použití parametrů v dotazech

Použití parametru v dotazu je jednoduché 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.

Přidání parametru 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 dialogovém okně parametru, a dejte ho do hranatých závorek, například:

    [Počáteční datum]

    Po spuštění dotazu se zobrazí dialogové okno s výzvou k zadání parametru (bez hranatých závorek).

    Při zadávání výzev pro parametry můžete také používat výrazy, například:

    Between [Počáteční datum] And [Koncové datum]

    Poznámka: Pro každou výzvu pro parametr se zobrazí samostatné dialogové okno. V druhém příkladu se zobrazí dvě dialogové okna – jedno pro Počáteční datum a jedno pro Koncové datum.

  3. Zopakujte krok 2 pro všechna pole, ke kterým chcete přidat parametry.

Předchozí postup můžete použít k přidání parametru do libovolného z těchto typů dotazů: výběrový, křížový, přidávací, vytvářecí nebo aktualizační.

Parametr můžete přidat také do sjednocovacího dotazu. Postupujte takto:

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

  2. Přidejte klauzuli WHERE obsahující všechna pole, pro která chcete zobrazit výzvu k zadání parametru.

    Pokud už klauzule WHERE existuje, zjistěte, jestli už jsou v ní pole, u kterých chcete použít výzvu pro parametr, a jestli nejsou, přidejte je.

  3. Místo kritéria použijte v klauzuli WHERE výzvu pro parametr.

Zadání datových typů parametrů

Měli byste také zadat, jaký datový typ by měl parametr přijímat. Datový typ můžete zadat pro libovolný parametr, ale zvlášť důležité je nastavit ho pro číselná data, údaje s uvedením měny nebo kalendářní data a časy. Pokud pro parametr zadáte přijímaný datový typ, zobrazí se uživatelům užitečnější chybová zpráva v případě, že zadají chybný datový typ, například text místo očekávané částky s uvedením měny.

Poznámka: Pokud je parametr nakonfigurovaný tak, aby přijímal textová data, bude jakékoli zadání považováno za text a nezobrazí se žádná chybová zpráva.

Pokud chcete zadat datový typ parametrů v dotazu, postupujte takto:

  1. Při otevření dotazu v návrhovém zobrazení klikněte na kartě Návrh ve skupině Zobrazit či skrýt na položku 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.

Vytvoření formuláře, který shromažďuje parametry

Parametrické dotazy sice mají předdefinované dialogové okno, které shromažďuje parametry, ale poskytují jenom základní funkce. Když ke shromažďování parametrů budete používat formulář, získáte následující funkce:

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

  • Stálost shromážděných parametrů, díky které je můžete použít ve více než jednom dotazu

  • Možnost poskytnout pro shromažďování parametrů ovládací prvek pole se seznamem nebo seznam, který umožňuje vybírat v seznamu dostupných hodnot

  • Možnost poskytnout ovládací prvky pro jiné funkce, jako je otevření nebo aktualizace dotazu

Následující video ukazuje, jak můžete pro shromažďování parametrů dotazu vytvořit jednoduchý formulář, místo abyste používali dialogová okna normálně spojená s parametrickými dotazy.

Váš prohlížeč nepodporuje video. Nainstalujte si Microsoft Silverlight, Adobe Flash Player nebo Internet Explorer 9.

Vytvoření formuláře, který shromažďuje parametry pro sestavu

Tento scénář můžete řešit několika způsoby, ale my ukážeme jenom techniku používající hlavně makra. Když chcete vytvořit formulář, který shromažďuje parametry pro sestavu, postupujte podle těchto pokynů.

Krok 1: Vytvoření formuláře, který přijímá zadání

  1. Na kartě Vytvoření klikněte ve skupině Formuláře na tlačítko Návrh formuláře.

  2. V návrhovém zobrazení stiskněte klávesu F4, aby se zobrazil seznam vlastností, a potom nastavte vlastnosti formuláře podle následující tabulky.

    Vlastnost

    Nastavení

    Titulek

    Zadejte název, který se má 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é

    Volič záznamů

    Ne

    Navigační tlačítka

    Ne

    Styl okraje

    Dialogový

  3. Pro každý parametr, který má formulář shromažďovat, klikněte na kartě Návrh ve skupině Ovládací prvky na položku Textové pole.

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

    Vlastnost

    Nastavení

    Název

    Zadejte název, který popisuje příslušný parametr, například Počáteční datum.

    Formát

    Zvolte formát odpovídající datovému typu pole parametru. Například pro datové pole vyberte Datum (obecné).

  5. Uložte formulář a dejte mu název, například frmKritéria.

Krok 2: Vytvoření modulu kódu, který kontroluje, jestli už je formulář pro parametry načtený

  1. Na kartě Vytvoření klikněte ve skupině Makra a kód na tlačítko Modul

    Otevře se nový modul v editoru jazyka Visual Basic.

  2. V editoru jazyka Visual Basic napište nebo do něj zkopírujte 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 pod jedinečným názvem a zavřete editor jazyka Visual Basic.

Krok 3: Vytvoření makra, které řídí formulář a sestavu

V Accessu můžeme pomocí submaker definovat všechny potřebné kroky v rámci jediného makra. Vytvoříme čtyři submakra – Otevřít dialog, Zavřít dialog, OK a Zrušit, která budou řídit různé úkoly potřebné pro tento postup. Řiďte se níže uvedeným snímkem obrazovky a vytvořte nové makro s následnými submakry a akcemi. V tomto příkladu jsme formulář pro parametry nazvali frmKritéria. Upravte si makro tak, aby v něm byl název formuláře, který jste dříve vytvořili. Nezapomeňte také kliknout na kartě Návrh na Zobrazit všechny akce, abyste viděli všechny akce makra.

Snímek obrazovky s makrem se čtyřmi submakry a akcemi v Accessu

Uložte a zavřete makro. Dejte makru nějaký název, například Makro Rozsah dat.

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

  1. Otevřete v návrhovém zobrazení formulář pro parametry, který jste dříve vytvořili.

  2. Ujistěte se, že na kartě Návrh ve skupině Ovládací prvky není vybraná možnost Použít průvodce 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 pod textová pole na formuláři a kliknutím vytvořte příkazové tlačítko OK.

  5. Pokud není zobrazený seznam vlastností, zobrazte ho 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ři kliknutí

    Zadejte název makra, například Makro Rozsah dat.OK.

  7. Vytvořte příkazové tlačítko Zrušit a nastavte jeho vlastnosti podle následující tabulky.

    Vlastnost

    Nastavení

    Název

    Zrušit

    Titulek

    Zrušit

    Při kliknutí

    Zadejte název makra, například Makro Rozsah dat.Zrušit.

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

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

  1. Otevřete v návrhovém zobrazení dotaz, který jste dříve vytvořili.

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

    • Když máte například v databázi Accessu (.accdb nebo .mdb) formulář s názvem frmKritéria, použijte v dotazu následující výraz, abyste odkázali na ovládací prvky s názvy Počáteční datum a Koncové datum:

      Between [Forms]![frmKritéria]![Počáteční datum] And [Forms]![frmKritéria]![Koncové datum]

Krok 6: Přidání akcí makra do událostí sestavy

  1. Sestavu, kterou budete chtít použít, otevřete v návrhovém zobrazení.

  2. Pokud není zobrazený seznam vlastností, zobrazte ho stisknutím klávesy F4.

  3. Zajistěte, aby vlastnost sestavy Zdroj záznamů byla nastavená na parametrický dotaz, který jste dříve definovali.

  4. Nastavte další dvě vlastnosti sestavy podle následující tabulky.

    Vlastnost

    Nastavení

    Při otevření

    Zadejte název makra, například Makro Rozsah dat.Otevřít dialog.

    Při zavření

    Zadejte název makra, například Makro Rozsah dat.Zavřít dialog.

    Když u sestavy dojde k události Otevřít, spustí Access akce definované v submakru Otevřít dialog, které je součástí objektu Makro Rozsah dat. A podobně – když sestavu zavřete, spustí Access akce definované v submakru Zavřít dialog, které je součástí objektu Makro Rozsah dat.

  5. Uložte a zavřete sestavu.

Krok 7: Vyzkoušení

Teď, když jste vytvořili všechny objekty Accessu, můžete vyzkoušet, jak to funguje. Otevřete sestavu v zobrazení sestavy nebo v náhledu a všimněte si, že než Access sestavu zobrazí, otevře se váš formulář pro parametry v dialogovém režimu. Do textových polí, která jste dříve ve formuláři vytvořili, zadejte potřebná kritéria a potom klikněte na příkazové tlačítko OK. Access formulář skryje (nastaví vlastnost Viditelné na hodnotu Ne) a otevře sestavu jenom s daty, která splňují vaše kritéria. Funguje to díky tomu, že parametrický dotaz, na kterém je sestava založená, může načíst hodnoty z ovládacích prvků ve skrytém formuláři. Když sestavu zavřete, Access zavře také formulář pro parametry.

Začátek stránky

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.