Použitie parametrov v dotazoch, formulároch a zostavách

Keď chcete, aby dotaz v Accesse vyžiadal vstupné hodnoty vždy, keď ho spustíte, môžete vytvoriť parametrický dotaz.

Takisto môžete vytvoriť formulár na zhromažďovanie hodnôt parametra, ktorý sa použije na obmedzenie záznamov vrátených pre dotazy, formuláre a zostavy. Tento článok vysvetľuje, ako používať formuláre na lepšie využitie parametrov v dotazoch, formulároch a zostavách.

Obsah tohto článku

Prehľad

Používanie parametrov v dotazoch

Špecifikovanie údajových typov parametrov

Vytvorenie formulára zhromažďujúceho parametre

Vytvorenie formulára zhromažďujúceho parametre pre zostavu

Prehľad

Kritériá v parametrickom dotaze možno v Accesse použiť na obmedzenie množiny záznamov, ktorú dotaz vráti. Dialógové okná poskytované parametrickým dotazom môžu byť na vaše účely nepostačujúce. V takýchto prípadoch môžete vytvoriť formulár, ktorý lepšie spĺňa vaše potreby týkajúce sa kolekcie parametrov. Tento článok vysvetľuje, ako vytvoriť formulár zhromažďujúci parametre dotazu a zostavy. Článok predpokladá, že ste oboznámení s tvorbou dotazov a definovaním parametrov v dotazoch. Pred pokračovaním by ste mali byť oboznámení minimálne s tým, ako sa vytvára dotaz Select.

Tento článok uvádza príklady používania parametrov v dotazoch. Neposkytuje obsiahle informácie o špecifikácii kritérií.

Používanie parametrov v dotazoch

Použitie parametra v dotaze je také jednoduché ako vytvorenie dotazu používajúceho kritériá. Dotaz možno vytvoriť za účelom získania jednej informácie, napríklad výrobného čísla, alebo viacerých informácií, napríklad dvoch dátumov. Pre každý parameter zobrazí parametrický dotaz samostatné dialógové okno s výzvou na zadanie hodnoty pre parameter.

Pridanie parametra do dotazu

  1. Vytvorte dotaz Select a potom ho otvorte v návrhovom zobrazení.

  2. Do riadku Kritériá poľa, pre ktoré chcete parameter použiť, zadajte v hranatých zátvorkách text, ktorý má zobrazovať dialógové okno parametra, napríklad:

    [Počiatočný dátum]

    Po spustení parametrického dotazu sa v dialógovom okne zobrazí výzva bez hranatých zátvoriek.

    S výzvami na zadanie parametrov možno používať aj výrazy, napríklad:

    medzi [Počiatočný dátum] AND [Dátum ukončenia]

    Poznámka : Pre jednotlivé výzvy na zadanie parametrov sa zobrazia samostatné dialógové okná. V druhom príklade sa zobrazia dve dialógové okná – jedno pre počiatočný dátum, druhé pre dátum ukončenia.

  3. Zopakujte krok 2 pre všetky polia, do ktorých chcete pridať parametre.

Predchádzajúce kroky možno použiť na pridanie parametra ku ktorémukoľvek z nasledujúcich typov dotazov: dotaz Select, krížový dotaz, vytvárajúci dotaz alebo, aktualizačný dotaz.

Pomocou nasledovných krokov tiež môžete pridať parameter k zjednocovaciemu dotazu:

  1. Otvorte zjednocovací dotaz v zobrazení SQL.

  2. Pridajte klauzulu WHERE obsahujúcu každé z polí, pre ktoré chcete zobraziť výzvu na zadanie parametra.

    Ak už klauzula WHERE existuje, skontrolujte, či polia, pre ktoré chcete použiť výzvy na zadanie parametrov, už v klauzule sú. Ak sa v nej nenachádzajú, pridajte ich.

  3. Namiesto použitia kritéria v klauzule WHERE použite výzvu na zadanie parametra.

Špecifikovanie údajových typov parametrov

Pre parameter môžete zadať, aký typ údajov má prijímať. Typ údajov môžete špecifikovať pre ľubovoľný parameter, ale najdôležitejšie je to v prípade parametra typu Number, Currency alebo Date/Time. Ak špecifikujete, aký typ údajov má parameter prijímať, používateľovi sa v prípade zadania nesprávneho typu údajov, napríklad textu pre parameter typu Currency, zobrazí chybové hlásenie.

Poznámka : Ak je parameter nakonfigurovaný na prijímanie textových údajov a vstupná hodnota sa interpretuje ako text, nezobrazí sa žiadne chybové hlásenie.

Pri špecifikovaní typov údajov pre parametre v dotaze postupujte podľa nasledovných krokov:

  1. Otvorte dotaz v návrhovom zobrazení, prejdite na kartu Návrh a v skupine Zobraziť alebo skryť kliknite na položku Parametre.

  2. V dialógovom okne Parametre dotazu zadajte do stĺpca Parameter výzvu pre každý parameter, pre ktorý chcete určiť typ údajov. Uistite sa, že sa každý parameter zhoduje s výzvou zadanou v riadku Kritériá v mriežke návrhu dotazu.

  3. V stĺpci Typ údajov vyberte typ údajov pre každý parameter.

Vytvorenie formulára zhromažďujúceho parametre

Hoci parametrické dotazy majú vstavané dialógové okno na zhromažďovanie parametrov, poskytujú len základné funkcie. Použitím formulára na zhromaždenie parametrov získate nasledovné funkcie:

  • možnosť používať ovládacie prvky špecifické pre typ údajov, akými sú ovládacie prvky kalendárov pre dátumy,

  • perzistencia zhromaždených parametrov, aby ich bolo možné používať s viac než jedným dotazom,

  • možnosť poskytovať rozbaľovacie pole alebo stĺpcový zoznam pre kolekciu parametrov, čo umožňuje vyberať zo zoznamu dostupných hodnôt údajov,

  • možnosť poskytovať ovládacie prvky pre iné funkcie, akými sú otváranie alebo obnova dotazu.

Nasledujúce video zobrazuje, ako možno vytvoriť jednoduchý formulár na zhromažďovanie parametrov pre dotaz namiesto používania dialógových okien, ktoré sa bežne používajú s parametrickými dotazmi.

Váš prehliadač nepodporuje video. Nainštalujte si Microsoft Silverlight, Adobe Flash Player alebo Internet Explorer 9.

Vytvorenie formulára zhromažďujúceho parametre pre zostavu

Existuje niekoľko spôsobov, akými k tomuto scenáru pristupovať, no my vám ukážeme len jeden postup využívajúci prevažne makrá. Pomocou týchto krokov možno vytvoriť formulár zhromažďujúci parametre pre zostavu.

Krok 1: Vytvorenie formulára akceptujúceho vstupné hodnoty

Krok 2: Vytvorenie modulu kódu na overenie, či už bolo vykonané načítanie formulára parametrov

Krok 3: Vytvorenie makra riadiaceho formulár a zostavu

Krok 4: Pridanie tlačidiel príkazu OK a Zrušiť do formulára

Krok 5: Používanie údajov formulára ako kritérií dotazov

Krok 6: Pridanie akcií makier do udalostí zostavy

Krok 7: Skúška

Krok 1: Vytvorenie formulára akceptujúceho vstupné hodnoty

  1. Na karte Vytvoriť kliknite v skupine Formuláre na položku Návrh formulára.

  2. V návrhovom zobrazení stlačením klávesu F4 zobrazte hárok vlastností a potom špecifikujte vlastnosti formulára tak, ako je to zobrazené v nasledujúcej tabuľke.

    Vlastnosť

    Nastavenie

    Popis

    Zadajte názov, ktorý sa má zobrazovať v záhlaví okna formulára.

    Predvolené zobrazenie

    Samostatný formulár

    Povoliť formulárové zobrazenie

    Áno

    Povoliť údajové zobrazenie

    Nie

    Povoliť zobrazenie kontingenčnej tabuľky

    Nie

    Povoliť zobrazenie kontingenčného grafu

    Nie

    Posúvače

    Žiadny

    Selektory záznamov

    Nie

    Navigačné tlačidlá

    Nie

    Štýl orámovania

    Dialógové okno

  3. V prípade každého parametra, ktorý má formulár zhromažďovať, kliknite na položku Textové pole uvedenú v skupine Ovládacie prvky na karte Návrh.

  4. Pozrite si vlastnosti pre textové polia uvedené v nasledovnej tabuľke.

    Vlastnosť

    Nastavenie

    Názov

    Zadajte názov popisujúci parameter, napríklad Počiatočný dátum.

    Formát

    Vyberte formát vyjadrujúci typ údajov pre pole parametra. Vyberte napríklad položku Všeobecný dátum pre pole s dátumom.

  5. Uložte formulár a pomenujte ho, napríklad frmKriteriá.

Krok 2: Vytvorenie modulu kódu na overenie, či už bolo vykonané načítanie formulára parametrov

  1. Na karte Vytvoriť kliknite v skupine Makrá a kód na položku Modul. Ak používate Access 2007, kliknite na karte Vytvoriť v skupine Ďalšie na položku Modul.

    V programe Visual Basic Editor sa otvorí nový modul.

  2. V programe Visual Basic Editor zadajte alebo prilepte nasledovný 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 dajte mu jedinečný názov. Potom program Visual Basic Editor zavrite.

Krok 3: Vytvorenie makra riadiaceho formulár a zostavu

Vďaka funkciám podmakier accessových makier možno definovať všetky potrebné kroky, ktoré treba vykonať v rámci jedného makra. Vytvoríme štyri podmakrá – Otvoriť okno, Zavrieť okno, OK, Zrušiť – ktorými sa budú riadiť rozličné úlohy potrebné pre tento postup. Nižšie uvedenú snímku obrazovky použite ako pomôcku a pomocou nasledovných podmakier a akcií vytvorte nové makro. V tomto príklade sa náš formulár parameterov nazýva frmKritériá Prispôsobte svoje makro, aby zodpovedalo názvu predtým vytvoreného formulára. Takisto je potrebné kliknúť na položku Zobraziť všetky akcie na karte Návrh, aby sa zobrazili všetky akcie makra.

Snímka obrazovky s makrom Accessu, štyrmi podmakrami a akciami

Uložte a zatvorte makro. Pomenujte ho, napríklad Makro rozsahu dátumov.

Krok 4: Pridanie tlačidiel príkazu OK a Zrušiť do formulára

  1. Znova otvorte formulár parametrov, ktorý ste predtým vytvorili v návrhovom zobrazení.

  2. Uistite sa, že možnosť Použiť sprievodcov ovládacími prvkami uvedená v skupine Ovládacie prvky na karte Návrh nie je vybratá.

  3. Na karte Návrh kliknite v skupine Ovládacie prvky na položku Tlačidlo.

  4. Umiestnite ukazovateľ pod textové polia formulára a potom presunutím vytvorte tlačidlo príkazu OK.

  5. Ak sa hárok vlastností nezobrazuje, zobrazte ho stlačením klávesu F4.

  6. Nastavte vlastnosti tlačidla OK podľa toho, ako je to uvedené v nasledovnej tabuľke.

    Vlastnosť

    Nastavenie

    Názov

    OK

    Popis

    OK

    Predvolené

    Áno

    OnClick

    Zadajte názov makra, napríklad Makro rozsahu dátumov.OK.

  7. Vytvorte tlačidlo príkazu Zrušiť a nastavte jeho vlastnosti tak, ako je uvedené v nasledovnej tabuľke.

    Vlastnosť

    Nastavenie

    Názov

    Zrušiť

    Popis

    Zrušiť

    OnClick

    Zadajte názov makra, napríklad Makro rozsahu dátumov.Zrušiť.

  8. Uložte a zatvorte formulár.

Krok 5: Používanie údajov formulára ako kritérií dotazov

  1. Otvorte dotaz, ktorý ste predtým vytvorili v návrhovom zobrazení.

  2. Zadajte kritériá pre údaje. Použite objekt Formuláre, názov formulára a názov ovládacieho prvku:

    • Napríklad v accessovej databáze (.accdb alebo .mdb) pre formulár nazvaný frmKriteriá použite nasledovný výraz odkazujúci na ovládacie prvky nazvané Počiatočný dátum a Dátum ukončenia:

      Between [Formuláre]![frmKriteriá]![Počiatočný dátum] And [Formuláre]![frmKriteriá]![Dátum ukončenia]

Krok 6: Pridanie akcií makier do udalostí zostavy

  1. Otvorte zostavu, ktorú chcete použiť v návrhovom zobrazení.

  2. Ak sa hárok vlastností nezobrazuje, zobrazte ho stlačením klávesu F4.

  3. Uistite sa, že vlastnosť zostavy Zdroj záznamov používa parametrický dotaz, ktorý ste predtým definovali.

  4. Nastavte tieto dve dodatočné vlastnosti zostavy tak, ako je uvedené v nasledovnej tabuľke.

    Vlastnosť

    Nastavenie

    OnOpen

    Zadajte názov makra, napríklad Makro rozsahu dátumov.Otvoriť okno.

    OnClose

    Zadajte názov makra, napríklad Makro rozsahu dátumov.Zavrieť okno.

    V prípade udalosti Otvoriť pre zostavu spustí Access akcie definovaný v podmakre Otvoriť okno objektu Makro rozsahu dátumov. Podobne, keď zavriete zostavu, Access spustí akcie definované v podmakre Zavrieť okno objektu Makro rozsahu dátumov.

  5. Uložte a zatvorte zostavu.

Krok 7: Skúška

Po vytvorení všetkých accessových objektov ich možno vyskúšať. Otvorte zostavu v zobrazení zostavy alebo ukážke pred tlačou a všimnite si, že predtým než Access zobrazí zostavu, formulár parametrov sa otvorí v režime dialógového okna. Zadajte potrebné kritériá do textových polí, ktoré ste vytvorili predtým, a potom vo formulári kliknite na tlačidlo príkazu OK. Access potom formulár skryje (Viditeľné = Nie) a otvorí zostavu len s tými údajmi, ktoré zodpovedajú kritériám. Toto funguje, pretože parametrický dotaz, na ktorom je zostava založená, dokáže prečítať hodnoty v ovládacích prvkoch skrytého formulára. Keď zostavu zavriete, Access zavrie aj formulár parametrov.

Na začiatok stránky

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×