Tento článek vysvětluje, jak v Accessu vytvářet podmíněné výrazy (označované také jako logické výrazy). Podmíněný výraz se vyhodnotí jako true nebo false a pak vrátí výsledek, který splňuje zadaná podmínka. Pokud v podmíněných výrazech používáte funkce, můžete také zadat akci pro hodnoty, které splňují a nesplňují podmínku ve výrazu. Můžete například vytvořit výraz, který najde všechny prodeje se ziskovou marží 10 procent nebo méně, a pak zadat, aby se tato čísla zobrazovala červeně, nebo nahradit hodnoty zprávou.
V tomto článku
Principy podmíněných výrazů
Podmíněný výraz je typ výrazu, který testuje data, aby zjistil, jestli splňují podmínku, a pak provede akci v závislosti na výsledku. Výraz může například vyhledat hodnoty data pozdějšího než zadaného počátečního data a pak zobrazit chybovou zprávu při pokusu o zadání data dřívějšího, než je definované počáteční datum.
Podmíněné výrazy mají stejnou formu a používají stejnou základní syntaxi jako ostatní výrazy a můžete je používat stejným způsobem jako jiné výrazy:
-
U polí tabulky přidáte výraz do vlastnosti Ověřovací pravidlo pole. Uživatelé pak musí do pole zadat hodnoty, které odpovídají podmínkám ve výrazu. Pokud například použijete výraz >=#1/1/2000# v poli Datum a čas, musí uživatelé zadat hodnoty rovnající se datu 1. ledna 2000 nebo novější.
-
U ovládacích prvků ve formulářích můžete přidat výraz do vlastnosti Zdroj ovládacího prvku nebo Ověřovací pravidlo ovládacího prvku. Obvykle se do vlastnosti Ověřovací pravidlo přidávají podmíněné výrazy a výrazy, které počítají hodnoty do vlastnosti Zdroj ovládacího prvku . Například použití >=#1/1/2000# ve vlastnosti Ověřovací pravidlo ovládacího prvku zabrání uživatelům v zadání neplatného data. Použití výrazu, například Date() ve vlastnosti Zdroj ovládacího prvku , zobrazí aktuální datum jako výchozí hodnotu.
-
U dotazů můžete podmíněné výrazy přidat do prázdné buňky v řádku Pole nebo můžete použít výraz v řádku Kritéria dotazu. Když v řádku Pole použijete výraz, zobrazí se výsledky ve výsledcích dotazu jako sloupec. Když použijete výraz jako kritérium pro existující pole, tento výraz funguje jako filtr a omezuje záznamy, které dotaz vrací.
Tento výraz můžete například použít v řádku Pole dotazu: =IIf([Datum objednávky]<=#04/01/2018#,[Datum objednávky],"Objednávka zadána po 1. dubnu"). Výraz určuje kritérium data (<=#04/01/2018#). Při spuštění dotazu se zobrazí všechny hodnoty kalendářních dat, které splňují kritérium, a všechny hodnoty kalendářních dat, které kritérium nesplňují, se nahradí zprávou "Objednávka byla zadána po 1. dubnu". Postup v části Přidání výrazu do dotazu vysvětluje, jak tento výraz použít v dotazu.
Naproti tomu použití tohoto výrazu v poli Kritéria dotazu vrátí pouze záznamy s kalendářními daty, které splňují kritérium: Between #04/01/2018# AND #15.5.2018#.
Další informace o vytváření a používání výrazů najdete v článku Naučte se vytvářet výrazy.
Vytvoření podmíněného výrazu
Postup v této části vysvětluje, jak přidat podmíněný výraz do tabulky, ovládací prvek ve formuláři nebo sestavě a dotaz. Každá sada kroků používá mírně odlišný výraz k otestování hodnot v poli Datum a čas a provedení akce na základě toho, zda hodnoty data splňují zadanou podmínku.
Přidání výrazu do pole tabulky
-
V navigačním podokně klikněte pravým tlačítkem myši na tabulku, kterou chcete změnit, a v místní nabídce klikněte na příkaz Návrhové zobrazení.
-
Ve sloupci Datový typ klikněte na pole Datum a čas.
-
V části Vlastnosti pole klikněte na kartě Obecné na pole vlastnosti Ověřovací pravidlo a zadejte následující výraz:
>=#1.01.2000#
Poznámka: Nemusíte používat formát data v USA. Můžete použít formát data pro svoji zemi nebo oblast nebo národní prostředí. Hodnotu kalendářního data ale musíte obebrat znaky libry (#), jak je znázorněno na obrázku.
-
Klikněte na sloupec vedle položky Ověřovací text a zadejte tento textový řetězec:
Datum musí být větší než 1. ledna 2000.
Opět můžete použít místní formát data.
-
Uložte změny a přepněte do zobrazení Datový list. Uděláte to tak, že kliknete pravým tlačítkem myši na kartu dokumentu tabulky a v místní nabídce kliknete na Zobrazení datového listu .
-
Zadejte hodnotu data do pole Datum a čas před 1. lednem 2000. Access zobrazí zprávu zadanou v poli vlastnosti Ověřovací pravidlo a pole nemůžete opustit, pokud nezadáte hodnotu, kterou výraz vyhodnotí jako true.
Přidání výrazu do ovládacího prvku
-
V navigačním podokně klikněte pravým tlačítkem na formulář, který chcete změnit, a v místní nabídce klikněte na Návrhové zobrazení .
-
Klikněte pravým tlačítkem myši na ovládací prvek vázaný na pole datum a čas a potom v místní nabídce klikněte na Vlastnosti .
Zobrazí se seznam vlastností ovládacího prvku.
-
Na kartě Data nebo Na kartě Vše klikněte na pole vedle pole Ověřovací pravidlo a zadejte následující výraz:
>=#1.01.2000#
Poznámka: Nemusíte používat formát data v USA. Můžete použít formát data pro svoji zemi nebo oblast nebo národní prostředí. Hodnotu kalendářního data ale musíte obebrat znaky libry (#), jak je znázorněno na obrázku.
-
Klikněte na sloupec vedle položky Ověřovací text a zadejte tento textový řetězec:
Datum musí být větší než 1. ledna 2000.
-
Uložte změny a přepněte zpět do formulářového zobrazení. Uděláte to tak, že kliknete pravým tlačítkem na kartu dokumentu formuláře a v místní nabídce kliknete na Formulářové zobrazení .
Přidání výrazu do dotazu
-
V navigačním podokně klikněte pravým tlačítkem myši na dotaz, který chcete změnit, a v místní nabídce klikněte na příkaz Návrhové zobrazení.
-
Klikněte na prázdnou buňku v řádku Pole návrhové mřížky a zadejte následující výraz:
=IIf([Field_Name]<=#04/01/2018# , [Field_Name] , "Date later than 1 April, 2018")
Při psaní výrazu nezapomeňte nahradit obě instance Field_Name názvem pole Datum a čas. Pokud tabulka neobsahuje data před 1. dubnem 2018, upravte data ve výrazu tak, aby fungovala s vašimi daty.
-
Uložte změny a kliknutím na Spustit zobrazte výsledky.
Výraz funguje takto: První argument (=IIf([Field_Name]<=#04/01/2018#) určuje podmínku, kterou musí data splňovat – data musí být 1. dubna 2018 nebo dřívější. Druhý argument ([Field_Name]) určuje, co uživatelé uvidí, když je podmínka pravdivá – kalendářní data v poli. Třetí argument ("Datum pozdější než 1. dubna 2018")) určuje zprávu, která se uživatelům zobrazí, když data nesplňují podmínku.
Mějte na paměti, že ne všechny podmíněné výrazy používají funkci IIf . Nezapomeňte také, že funkce IIf je část výrazu, která vyžaduje argumenty, a ne samotný výraz.
Další informace o výrazech a způsobech jejich použití najdete v článku Naučte se vytvářet výrazy.
Příklady podmíněných výrazů
Výrazy v následující tabulce ukazují některé způsoby výpočtu hodnot true a false. Tyto výrazy používají funkci IIf (Immediate If) k určení, jestli je podmínka pravdivá nebo nepravda, a pak vrátí jednu hodnotu, pokud je podmínka pravdivá, a jinou hodnotu, pokud podmínka je nepravda.
Další informace najdete v článku Funkce IIf .
Výraz |
Popis |
=IIf([Potvrzeno] = "Ano";"Objednávka potvrzena";"Objednávka nepotvrzena") |
Zobrazí zprávu "Objednávka potvrzena", pokud hodnota pole Potvrzeno je Ano; v opačném případě se zobrazí zpráva "Objednávka nebyla potvrzena". |
=IIf(IsNull([Země/oblast]);" ", [Země/oblast]) |
Zobrazí prázdný řetězec, pokud je hodnota pole Země/oblast null; v opačném případě se zobrazí hodnota pole Země/oblast. |
=IIf(IsNull([Region]);[Město]&" "& [PSČ], [Město]&" "&[Oblast]&" " &[PSČ]) |
Zobrazí hodnoty pole Město a PSČ, pokud je hodnota pole Region null; v opačném případě se zobrazí hodnoty polí Město, Oblast a PSČ. |
=IIf(IsNull([RequiredDate] - [Datumexpedace]); "Kontrola chybějícího data", [RequiredDate] - [Datumexpedace]) |
Zobrazí zprávu "Kontrola chybějícího data", pokud je výsledek odečtení hodnoty pole Datum odeslání od pole RequiredDate null; v opačném případě zobrazí rozdíl mezi hodnotami polí RequiredDate a ShippedDate. |