Vytváranie podmienečných (booleovských) výrazov

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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.

Na začiatok stránky

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

  1. 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.

  2. V stĺpci Typ údajov kliknite na pole Dátum a čas.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  1. 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 .

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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.

Na začiatok stránky

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.

Na začiatok stránky