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
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í.
-
Ďalšie informácie o tom, ako vytvoriť dotaz Select nájdete v článku Vytvorenie jednoduchého výberového dotazu.
-
Ďalšie všeobecné informácie o dotazoch nájdete v článku Úvodné informácie o dotazoch.
-
Ďalšie informácie o definovaní parametrov v dotazoch nájdete v článku Použitie parametrov na požadovanie zadania vstupnej hodnoty pri spustení dotazu.
-
Ďalšie informácie o špecifikovaní kritérií v dotazoch nájdete v článku Príklady kritérií dotazu.
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ť na získanie 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
-
Vytvorte dotaz Select a potom ho otvorte v návrhovom zobrazení.
-
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.
-
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:
-
Otvorte zjednocovací dotaz v zobrazení SQL.
-
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.
-
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:
-
Otvorte dotaz v návrhovom zobrazení, prejdite na kartu Návrh a v skupine Zobraziť alebo skryť kliknite na položku Parametre.
-
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.
-
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.
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
-
Na karte Vytvoriť kliknite v skupine Formuláre na položku Návrh formulára.
-
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
-
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.
-
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.
-
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
-
Na karte Vytvoriť kliknite v skupine Makrá a kód na položku Modul.
V programe Visual Basic Editor sa otvorí nový modul.
-
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
-
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
Pomocou submakro funkcií accessových makier môžeme definovať všetky kroky potrebné na vykonanie jedného makra. Vytvoríme štyri submakro – Otvoriť dialógové okno, Zavrieť dialógové okno, OK a Zrušiť – na ovládanie rôznych úloh potrebných pre tento postup. Pomocou nasledujúcej snímky obrazovky ako príručky vytvorte nové makro s nasledujúcimi submakrámi a akciami. V tomto príklade sa náš formulár parametra nazýva frmCriteria. Upravte makro tak, aby sa zhodovalo s názvom formulára, ktorý ste vytvorili predtým. Ak chcete zobraziť všetky akcie makra, musíte kliknúť na položku Zobraziť všetky akcie na karte Návrh .
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
-
Znova otvorte formulár parametrov, ktorý ste predtým vytvorili v návrhovom zobrazení.
-
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á.
-
Na karte Návrh kliknite v skupine Ovládacie prvky na položku Tlačidlo.
-
Umiestnite ukazovateľ pod textové polia formulára a potom presunutím vytvorte tlačidlo príkazu OK.
-
Ak sa hárok vlastností nezobrazuje, zobrazte ho stlačením klávesu F4.
-
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.
-
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ť.
-
Uložte a zatvorte formulár.
Krok 5: Používanie údajov formulára ako kritérií dotazov
-
Otvorte dotaz, ktorý ste predtým vytvorili v návrhovom zobrazení.
-
Zadajte kritériá pre údaje. Použite objekt Forms , názov formulára a názov ovládací prvok:
-
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
-
Otvorte zostavu, ktorú chcete použiť v návrhovom zobrazení.
-
Ak sa hárok vlastností nezobrazuje, zobrazte ho stlačením klávesu F4.
-
Uistite sa, že vlastnosť zostavy Zdroj záznamov používa parametrický dotaz, ktorý ste predtým definovali.
-
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.
-
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.