Tento článok vysvetľuje, ako vytvoriť podmienené výrazy (známe aj ako booleovské) výrazy v Accesse. Podmienený výraz sa vyhodnotí ako pravdivý alebo nepravdivý a potom vráti výsledok, ktorý spĺňa zadanú podmienku. Ak v podmienečných výrazoch používate funkcie, môžete tiež zadať akciu pre hodnoty, ktoré spĺňajú a nespĺňajú podmienku vo výraze. Môžete napríklad vytvoriť výraz, ktorý vyhľadá všetok predaj s ziskovou maržou 10 percent alebo menej, a potom určiť, aby sa tieto čísla zobrazili červeným písmom, alebo nahradiť hodnoty hlásením.
Obsah tohto článku
Informácie o podmienečných výrazoch
Podmienený výraz je typ výrazu, ktorý testuje údaje, aby zistil, či spĺňajú podmienku, a potom v závislosti od výsledku vykoná akciu. Výraz môže napríklad vyhľadať neskoršie hodnoty dátumu, než je zadaný počiatočný dátum, a potom zobraziť chybové hlásenie, keď sa pokúsite zadať skorší ako definovaný počiatočný dátum.
Podmienené výrazy majú rovnakú formu a používajú rovnakú základnú syntax ako ostatné výrazy a môžete ich používať rovnakým spôsobom ako iné výrazy:
- V prípade polí tabuľky sa výraz pridáva do vlastnosti Overovacie pravidlo daného poľa. Používatelia musia potom do poľa zadať hodnoty, ktoré spĺňajú podmienky vo výraze. Ak napríklad použijete výraz >=#1/1/2000# v poli typu dátum a čas, používatelia musia zadať hodnoty rovné alebo novšie ako 1. január 2000.
- V prípade ovládacích prvkov vo formulároch môžete pridať výraz do vlastnosti Zdroj ovládacieho prvku alebo Overovacie pravidlo ovládacieho prvku . Zvyčajne sa k vlastnosti Overovacie pravidlo pridávajú podmienené výrazy a výrazy vypočítavajúce hodnoty sa pridávajú do vlastnosti Zdroj ovládacieho prvku . Napríklad použitie >=#1/1/2000# vo vlastnosti overovacieho pravidla ovládacieho prvku zabráni používateľom zadať neplatný dátum. Použitie výrazu, ako je napríklad Date() vo vlastnosti Zdroj ovládacieho prvku , zobrazí aktuálny dátum ako predvolenú hodnotu.
- V prípade dotazov môžete pridať podmienené výrazy do prázdnej bunky v riadku Pole alebo môžete použiť výraz v riadku Kritériá dotazu. Keď použijete výraz v riadku Pole , výsledky sa vo výsledkoch dotazu zobrazia ako stĺpec. Keď používate výraz ako kritérium pre existujúce pole, výraz funguje ako filter a obmedzuje záznamy, ktoré dotaz vráti.
V riadku Pole dotazu môžete napríklad použiť tento výraz: =IIf([Dátum objednávky]<=#04/01/2018#,[Dátum objednávky],"Objednávka zadaná po 1. apríli"). Výraz určuje kritérium pre dátum (<=#04/01/2018#). Po spustení dotazu sa zobrazia všetky hodnoty dátumu, ktoré spĺňajú dané kritérium, a všetky hodnoty dátumu, ktoré toto kritérium nespĺňajú, sa nahradia správou Poradie zadané po 1. apríli. Postup v tejto časti Pridanie výrazu do dotazu vysvetľuje, ako tento výraz použiť v dotaze.
Naproti tomu použitie tohto výrazu v poli Kritériá dotazu vráti iba tie záznamy s dátumami, ktoré toto kritérium spĺňajú: Between #04/01/2018# AND #05/15/2018#.
Ďalšie informácie o vytváraní a používaní výrazov nájdete v článku Zostavenie výrazu.
Vytvorenie podmieneného výrazu
Postup v tejto časti vysvetľuje pridanie podmieneného výrazu do tabuľky, ovládacieho prvku formulára alebo zostavy a dotazu. Každá skupina krokov používa trochu iný výraz na testovanie hodnôt v poli typu dátum/čas a vykonanie akcie podľa toho, či dátumové hodnoty spĺňajú zadanú podmienku.
Pridanie výrazu do poľa tabuľky
Na navigačnej table kliknite pravým tlačidlom myši na tabuľku, ktorú chcete zmeniť, a potom v kontextovej ponuke kliknite na položku Návrhové zobrazenie.
V stĺpci Typ údajov kliknite na pole Dátum a čas.
V časti Vlastnosti poľa kliknite na karte Všeobecné na pole vlastnosti Overovacie pravidlo a zadajte nasledujúci výraz:
>=#01/01/2000#Poznámka
Nemusíte používať americký formát dátumu. Môžete použiť formát dátumu pre svoju krajinu/oblasť alebo miestne nastavenia. Hodnotu dátumu však musíte uzavrieť znakom mriežky (#), ako je to znázornené na obrázku.
Kliknite na stĺpec vedľa položky Text overenia a zadajte tento textový reťazec:
Dátum musí byť väčší ako 1. január 2000.
Opäť môžete použiť miestny formát dátumu.Uložte zmeny a prejdite do údajového zobrazenia. Môžete tak urobiť kliknutím pravým tlačidlom myši na kartu dokumentu danej tabuľky a potom kliknutím na položku Údajové zobrazenie v kontextovej ponuke.
Do poľa Dátum a čas zadajte hodnotu dátumu skoršiu ako 1. január 2000. Access zobrazí hlásenie zadané v poli vlastnosti Overovacie pravidlo a pole neopustíte, kým nezadáte hodnotu, ktorú výraz vyhodnotí ako true.
Pridanie výrazu do ovládacieho prvku
Na navigačnej table kliknite pravým tlačidlom myši na formulár, ktorý chcete zmeniť, a potom v kontextovej ponuke kliknite na položku Návrhové zobrazenie .
Pravým tlačidlom myši kliknite na ovládací prvok viazaný na pole typu Dátum a čas a potom v kontextovej ponuke kliknite na položku Vlastnosti .
Zobrazí sa hárok vlastností ovládacieho prvku.Na karte Údaje alebo Všetko kliknite na pole vedľa Overovacie pravidlo a zadajte nasledujúci výraz:
>=#01/01/2000#Poznámka
Nemusíte používať americký formát dátumu. Môžete použiť formát dátumu pre svoju krajinu/oblasť alebo miestne nastavenia. Hodnotu dátumu však musíte uzavrieť znakom mriežky (#), ako je to znázornené na obrázku.
Kliknite na stĺpec vedľa položky Text overenia a zadajte tento textový reťazec:
Dátum musí byť väčší ako 1. január 2000.Uložte zmeny a prejdite naspäť do formulárového zobrazenia. Môžete tak urobiť kliknutím pravým tlačidlom myši na kartu dokumentu formulára a potom kliknutím na položku Zobrazenie formulára v kontextovej ponuke.
Pridanie výrazu do dotazu
Na navigačnej table kliknite pravým tlačidlom myši na dotaz, ktorý chcete zmeniť, a potom v kontextovej ponuke kliknite na položku Návrhové zobrazenie.
Kliknite na prázdnu bunku v riadku Pole v mriežke návrhu a zadajte nasledujúci výraz:
=IIf([Field_Name]<=#04/01/2018# ; [Field_Name] ; "Dátum neskorší než 1. apríl 2018")
Pri zadávaní výrazu nahraďte obidve inštancie Field_Name názvom poľa Dátum a čas. Ak tabuľka neobsahuje dátumy staršie ako 1. apríl 2018, zmeňte dátumy vo výraze tak, aby pracovali s údajmi.
Uložte zmeny a kliknutím na položku Spustiť zobrazte výsledky.
Výraz funguje takto: Prvý argument (=IIf([Field_Name]<=#04/01/2018#) určuje podmienku, ktorú musia údaje spĺňať – dátumy musia byť 1. apríla 2018 alebo skoršie. Druhý argument ([Field_Name]) určuje, čo používatelia vidia, keď je podmienka pravdivá – dátumy v poli. Tretí argument ("Dátum neskôr než 1. apríl 2018") určuje hlásenie, ktoré sa používateľom zobrazí v prípade, že údaje nespĺňajú podmienku.
Pri ďalšom postupe nezabudnite, že nie všetky podmienené výrazy používajú funkciu IIf . Nezabudnite tiež, že funkcia IIf je časť výrazu, ktorá vyžaduje argumenty, a nie samotný výraz.
Ďalšie informácie o výrazoch a možnostiach ich použitia nájdete v článku Zostavenie výrazu.
Príklady podmienených výrazov
Vo výrazoch v nasledujúcej tabuľke je uvedených niekoľko spôsobov výpočtu pravdivých a nepravdivých hodnôt. Tieto výrazy používajú funkciu IIf (Immediate If) na určenie, či je podmienka pravdivá alebo nepravdivá, a potom vrátia jednu hodnotu, ak je podmienka pravdivá, a inú hodnotu, ak je podmienka nepravdivá.
Ďalšie informácie nájdete v článku Funkcia IIf .
| Výraz | Popis |
|---|---|
| =IIf([Potvrdené] = "Áno", "Objednávka potvrdená", "Objednávka nepotvrdená") | Zobrazí sa správa Objednávka potvrdená, ak je hodnota poľa Potvrdené Áno. V opačnom prípade sa zobrazí hlásenie Objednávka nepotvrdená. |
| =IIf(IsNull([Krajina/oblasť])," ", [Krajina/oblasť]) | Zobrazí prázdny reťazec, ak je hodnota poľa Krajina alebo oblasť Null. V opačnom prípade sa zobrazí hodnota poľa Krajina alebo oblasť. |
| =IIf(IsNull([Oblasť]),[Mesto]&" "& [PSČ], [Mesto]&" "&[Oblasť]&" " &[PSČ]) | Zobrazí hodnoty polí Mesto a PSČ, ak je hodnota poľa Oblasť Null. V opačnom prípade sa zobrazia hodnoty polí Mesto, Oblasť a PSČ. |
| =IIf(IsNull([PožadovanýDátum] - [DátumDodania]), "Vyhľadať chýbajúci dátum", [PožadovanýDátum] - [DátumDodania]) | Zobrazí sa hlásenie Skontrolujte, či nechýba dátum, ak je výsledok odčítania hodnoty poľa DátumDodania od poľa PožadovanýDátum Null. V opačnom prípade sa zobrazí rozdiel medzi hodnotami polí PožadovanýDátum a DátumDodania. |