Pomocí výrazů můžete data zpracovávat různými způsoby. Můžete například určit, kolik dní uplynulo od odeslání objednávky, nebo zkombinovat Jméno a Příjmení do jednoho řetězce Jméno a příjmení. V následujících částech vás krok za krokem seznámíme s postupem vytvoření výrazu.
V tomto článku
Výpočet hodnot ovládacích prvků ve formulářích a sestavách
Pokud výraz použijete jako zdroj dat ovládacího prvku, vytvoříte počítaný ovládací prvek. Předpokládejme například, že máte sestavu zobrazující více skladových záznamů a chcete v jejím zápatí vytvořit součet, který sečte všechny řádkové položky v sestavě.
Chcete-li vypočítat součet, umístěte do zápatí sestavy ovládací prvek typu textového pole a pak nastavte ve vlastnosti Zdroj ovládacího prvku tohoto textového pole následující výraz:
=Sum([table_field])
V tomto případě je table_field název pole, které obsahuje hodnoty mezisoučtu. Toto pole může pocházet z tabulky nebo dotazu. Funkce Sum vypočte součet všech hodnot v poli table_field.
POSTUP
-
V navigačním podokně klikněte pravým tlačítkem myši na formulář, který chcete změnit, a v místní nabídce klikněte na příkaz Zobrazení rozložení nebo Návrhové zobrazení.
-
Vyberte ovládací prvek, do kterého chcete zadat výraz.
-
Pokud není zobrazen seznam vlastností, zobrazte jej stisknutím klávesy F4.
-
Pokud chcete ručně vytvořit výraz, klikněte na vlastnost textového pole Zdroj ovládacího prvku v seznamu vlastností na kartě Datové a pak zadejte operátor = a zbývající část výrazu. Pokud chcete třeba vypočítat výše uvedený mezisoučet, zadejte =Sum([table_field]). Místo výrazu table_field je třeba zadat název pole.
-
Pokud chcete vytvořit výraz pomocí Tvůrce výrazů, klikněte na tlačítko Sestavit v poli vlastností.
Po dokončení výrazu bude seznam vlastností vypadat následovně:
Použití výrazů jako kritérií dotazu
Výsledky dotazu můžete zúžit pomocí kritérií. Kritéria zadáváte jako výraz a Access vrátí pouze řádky, které vyhovují tomuto výrazu.
Předpokládejme například, že chcete zobrazit všechny objednávky, jejichž datum odeslání připadá na první tři měsíce roku 2017. Pokud chcete zadat kritéria, zadejte v dotazu následující výraz do buňky Kritéria pro sloupec Datum a čas. V tomto příkladu jsme použili sloupec Datum a čas s názvem Datum odeslání. Pokud chcete definovat rozsah dat, zadejte kritéria tímto způsobem:
Between #1/1/2017# And #3/31/2017#
Sloupec Datum odeslání bude vypadat podobně jako na následujícím obrázku.
Pro každý záznam v tabulce Objednávky platí, že pokud spadá hodnota v sloupci Datum odeslání do zadaného rozsahu dat, záznam je součástí výstupu dotazu. Všimněte si, že ve výrazu jsou datumy uzavřeny do znaků libry (#). Access považuje hodnotu uzavřenou mezi znaky libry jako datový typ Datum nebo Čas. To, že jsou hodnoty používané jako datum nebo čas, vám umožňuje na těchto hodnotách provádět výpočty, například odečtení jednoho datumu od druhého.
POSTUP
-
V navigačním podokně klikněte pravým tlačítkem myši na dotaz, který chcete změnit, a pak klikněte na příkaz Návrhové zobrazení v místní nabídce.
-
Ve sloupci, pro který chcete zadat kritéria, klikněte do buňky Kritéria.
-
Pokud chcete výraz vytvořit ručně, zadejte výraz kritérií. Před výraz kritérií nedávejte operátor =.
-
Pokud chcete výraz vytvořit pomocí Tvůrce dotazů, klikněte na pásu karet na Návrh a potom ve skupině Nastavení dotazu klikněte na Tvůrce .
Chcete-li zvětšit oblast pro úpravu výrazu, umístěte kurzor do buňky Kritéria a stisknutím kláves SHIFT+F2 zobrazte okno Lupa:
Tip Pokud chcete nastavit jiné písmo textu, vyberte Písmo.
Vytvoření počítaného pole v dotazu
Předpokládejme, že navrhujete dotaz a chcete zobrazit výsledek výpočtu pomocí ostatních polí v dotazu. K vytvoření počítaného pole zadejte výraz do prázdné buňky v řádku Pole v dotazu. Máte-li například dotaz, který obsahuje pole Quantity (Množství) nebo Unit Price (Jednotková cena), je možné tato pole vynásobit a vytvořit počítané pole pro hodnotu Extended Price (Rozšířená cena) zadáním následujícího výrazu do řádku Pole v dotazu:
Extended Price: [Quantity] * [Unit Price]
Pokud bude výrazu předcházet text Extended Price: (Rozšířená cena), bude se nový sloupec nazývat Extended Price (Rozšířená cena). Tomuto názvu se často říká alias. Pokud nezadáte alias, Access ho vytvoří sám, například Expr1.
Access po spuštění dotazu provede výpočet na každém řádku, jak je znázorněno na následujícím obrázku:
POSTUP
-
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 do buňky Pole ve sloupci, kde chcete vytvořit počítané pole.
-
Chcete-li výraz vytvořit ručně, zadejte jej.
Nedávejte před výraz kritérií operátor = ; místo toho na začátku výrazu zadejte popisek, ze kterým následuje dvojtečka. Zadejte například Extended Price: jako popisek výrazu, který vytvoří počítané pole s názvem Extended Price (Rozšířená cena). Potom za dvojtečku zadejte kritéria pro výraz.
-
Pokud chcete výraz vytvořit pomocí Tvůrce výrazů, klikněte na pásu karet na Návrh a potom ve skupině Nastavení dotazu na Tvůrce.
Vytvoření počítaného pole v tabulce
V Accessu můžete vytvořit počítané pole v tabulce. Tím se eliminuje potřeba používat k výpočtům samostatný dotaz. Pokud máte třeba tabulku s hodnotami množství, ceny a sazby daně pro jednotlivé položky nabídky, můžete následujícím způsobem přidat počítané pole zobrazující celkovou cenu:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Do výpočtu není možné zahrnout pole z jiných tabulek nebo dotazů a výsledky výpočtu jsou určeny jen ke čtení.
POSTUP
-
Otevřete tabulku poklikáním na její název v navigačním podokně.
-
Přejděte ve vodorovném směru do krajního pravého sloupce tabulky a klikněte na záhlaví sloupce Kliknutím přidat.
-
V zobrazeném seznamu klikněte na Počítané pole a potom klikněte na požadovaný datový typ výsledku. Access zobrazí Tvůrce výrazů.
-
Zadejte požadovaný výpočet pro toto pole, například:
[Quantity] * [Unit Price]
U počítaného pole nezačínejte výraz symbolem rovná se (=).
-
Klikněte na tlačítko OK.
Přidá se počítané pole a zvýrazní se záhlaví pole, abyste mohli zadat název pole.
-
Zadejte název pro počítané pole a stiskněte klávesu ENTER.
Nastavení výchozích hodnot pro pole tabulky
Výraz lze použít k určení výchozí hodnoty pole v tabulce – tuto hodnotu Access použije v nových záznamech, pokud nebude zadána jiná hodnota. Předpokládejme například, že chcete automaticky vložit datum a čas do pole nazvaného DatumObjednávky, když uživatel přidá nový záznam. Chcete-li to tak nastavit, můžete použít následující výraz:
Now()
POSTUP
-
V navigačním podokně poklikejte na tabulku, kterou chcete změnit.
Aplikace Access tabulku otevře v zobrazení Datový list.
-
Vyberte pole, které chcete změnit.
-
Na pásu karet klikněte na Pole tabulky a ve skupině Vlastnosti klikněte na Výchozí hodnota. Access zobrazí Tvůrce výrazů.
-
Zadejte výraz do pole a nezapomeňte ho uvést znaménkem rovná se (=).
Poznámka: Pokud svážete ovládací prvek s polem tabulky a ovládací prvek i pole tabulky mají výchozí hodnoty, bude mít výchozí hodnota ovládacího prvku přednost před polem tabulky.
Nastavení výchozích hodnot pro ovládací prvky
Dalším obvyklým místem, kde lze použít výraz, je vlastnost ovládacího prvku Výchozí hodnota. Vlastnost Výchozí hodnota ovládacího prvku je podobná vlastnosti Výchozí hodnota pole tabulky. Když chcete třeba použít aktuální datum jako výchozí hodnotu pro textové pole, můžete použít následující výraz:
Date()
Tento výraz používá funkci Date pro získání aktuálního data, ale ne času. Pokud svážete textové pole s polem tabulky a pole má výchozí hodnotu, bude mít výchozí hodnota ovládacího prvku přednost před polem tabulky. Obvykle je pro pole v tabulce lepší nastavit vlastnost Výchozí hodnota. Tímto způsobem docílíte toho, že pokud založíte několik ovládacích prvků pro různé formuláře na stejném poli tabulky, pro každý ovládací prvek bude platit stejná výchozí hodnota a bude zajištěno konzistentní zadávání dat v každém formuláři.
POSTUP
-
V navigačním podokně klikněte pravým tlačítkem myši na formulář nebo sestavu, kterou chcete změnit, a v místní nabídce klikněte na příkaz Návrhové zobrazení nebo Zobrazení rozložení.
-
Vyberte ovládací prvek, který chcete změnit.
-
Pokud není zobrazen seznam vlastností, zobrazte jej stisknutím klávesy F4.
-
Klikněte na seznam vlastností na kartě Vše a potom klikněte na pole vlastnosti Výchozí hodnota.
-
Zadejte výraz nebo klikněte na tlačítko Sestavit v poli vlastností a vytvořte výraz pomocí Tvůrce výrazů.
Přidání ověřovacího pravidla do pole tabulky nebo záznamu
Výrazy jsou velmi užitečné pro ověřování dat během jejich zadávání do databáze (eliminují chybná data). V tabulkách se používají dva druhy ověřovacích pravidel: ověřovací pravidla polí – ty zabraňují uživatelům zadávat neplatná data do jednotlivých polí a ověřovací pravidla záznamů – ty zabraňují uživatelům vytvářet záznamy, které nesplňují zadaná kritéria. Oba druhy ověřovacích pravidel vytváříte pomocí výrazů.
Předpokládejme například, že máte tabulku nazvanou Zásoby s polem nazvaným Jednotky k dispozici a chcete nastavit pravidlo, které vynutí, aby uživatele zadali hodnotu, která se rovná nule nebo je vyšší. Jinými slovy, zásoby nikdy nemůžou mít zápornou hodnotu. Je to možné provést použitím následujícího výrazu jako ověřovacího pravidla pole Jednotky k dispozici:
>=0
POSTUP: Zadání ověřovacího pravidla pole nebo záznamu
-
V navigačním podokně poklikejte na tabulku, kterou chcete změnit. Aplikace Access tabulku otevře v zobrazení Datový list.
-
Chcete-li zadat ověřovací pravidlo pole, vyberte pole, které chcete změnit.
-
Na pásu karet klikněte na Pole tabulky, potom ve skupině Ověření pole klikněte na Ověření a potom klikněte na Ověřovací pravidlo pole nebo Ověřovací pravidlo. Access zobrazí Tvůrce výrazů.
-
Začněte zadávat požadovaná kritéria. Například pro vytvoření ověřovacího pravidla pole, které vyžaduje, aby všechny hodnoty byly větší nebo rovny nule, zadejte následující kritérium:
>=0
Nedávejte před výraz operátor rovná se (=).
Výrazy ověřovacích pravidel jsou logické, což znamená, že se všechny vstupní hodnoty vyhodnotí jako True (Pravda) nebo False (Nepravda). Ověřovací pravidlo musí být u hodnoty vyhodnoceno jako True (Pravda), jinak Access vstupní data neuloží a zobrazí chybovou zprávu ověření. V tomto příkladu, pokud zadáte do pole Jednotky k dispozici hodnotu menší než nula, ověřovací pravidlo se vyhodnotí jako False (Nepravda) a Access hodnotu nepřijme. Pokud jste ověřovací zprávu nezadali níže popsaným způsobem, zobrazí Access vlastní zprávu s informacemi o tom, že hodnota, kterou jste zadali, je zakázaná ověřovacím pravidlem pro příslušné pole.
POSTUP: Zadání ověřovací zprávy
Zadáním vlastních ověřovacích zpráv můžete usnadnit použití databáze. Tyto zprávy nahrazují obecné zprávy, které aplikace Access zobrazuje v případě, že data neodpovídají ověřovacímu pravidlu. Ve vlastní ověřovací zprávě můžete poskytnout uživatelům informace, které jim pomohou zadat správná data, například: „Hodnota pole Jednotky k dispozici nemůže být záporné číslo“.
-
V navigačním podokně poklikejte na tabulku, kterou chcete změnit.
Aplikace Access tabulku otevře v zobrazení Datový list.
-
Vyberte pole, do kterého jste přidali ověřovací pravidlo, a pro které chcete zadat ověřovací zprávu.
-
Na pásu karet klikněte na Pole tabulky, potom ve skupině Ověření pole klikněte na Ověření a potom klikněte na Ověřovací zpráva pole nebo Ověřovací zpráva.
-
V dialogovém okně Zadat ověřovací zprávu zadejte zprávu, kterou chcete zobrazit v případě, že data nevyhovují ověřovacímu pravidlu, a potom klikněte na tlačítko OK.
Přidání ověřovacího pravidla k ovládacímu prvku
Kromě polí tabulky a záznamů mají také ovládací prvky vlastnost Ověřovací pravidlo, které může přijímat výrazy. Předpokládejme například, že používáte formulář k zadání rozsahu dat pro sestavu a chcete zajistit, že datum zahájení není dřívější než 1. 1. 2017. Vlastnosti Ověřovací pravidlo a Ověřovací text pro textové pole, do kterého zadáte počáteční datum, můžete nastavit takto:
Vlastnost |
Nastavení |
---|---|
Ověřovací pravidlo |
>=#1.1.2017# |
Ověřovací text |
Nemůžete zadat datum dřívější než 1. 1. 2017. |
Pokud se pokusíte zadat datum dřívější než 1. 1. 2017, zobrazí se zpráva s textem ve vlastnosti Ověřovací text . Pokud nebyl do pole vlastnosti Ověřovací text zadán žádný text, Access zobrazí obecnou zprávu. Po kliknutí na OK vás Access vrátí zpátky do textového pole.
Nastavení ověřovacího pravidla pro pole tabulky vynucuje toto pravidlo v celé databázi při každé změně tohoto pole. Pokud toto pravidlo nastavíte pro ovládací prvek ve formuláři, bude vynuceno pouze v případě, že bude použit daný formulář. Nastavení ověřovacích pravidel samostatně pro pole tabulky a pro ovládací prvky ve formulářích může být užitečné, pokud hodláte vytvořit různá ověřovací pravidla pro jednotlivé uživatele.
POSTUP
-
V navigačním podokně klikněte pravým tlačítkem myši na formulář nebo sestavu, kterou chcete změnit, a v místní nabídce klikněte na příkaz Návrhové zobrazení nebo Zobrazení rozložení.
-
Klikněte pravým tlačítkem myši na ovládací prvek, který chcete změnit, a potom v místní nabídce klikněte na příkaz Vlastnosti. Access zobrazí seznam vlastností pro ovládací prvek.
-
Klikněte na kartu Vše a potom do pole vlastnosti Ověřovací pravidlo.
-
Zadejte výraz nebo klikněte na tlačítko Sestavit v poli vlastností a vytvořte výraz pomocí Tvůrce výrazů.
Před výraz nedávejte operátor =.
-
Chcete-li upravit text, který se zobrazí, pokud uživatel zadá data, která neodpovídají ověřovacímu pravidlu, zadejte požadovaný text do vlastnosti Ověřovací text.
Seskupení a řazení dat v sestavách
Podokno Skupina, řazení a souhrn slouží k definování úrovní seskupení a řazení dat v sestavě. Nejčastěji se seskupuje nebo řadí podle pole, které můžete vybrat ze seznamu. Pokud však chcete seskupovat nebo řadit podle počítané hodnoty, můžete místo toho zadat výraz.
Seskupování je proces kombinace sloupců obsahujících duplicitní hodnoty. Předpokládejme například, že databáze obsahuje údaje o prodeji pro kanceláře v různých městech a že jedna ze sestav v databázi se nazývá Prodeje podle města. Dotaz, který poskytuje data pro sestavu, seskupí data podle hodnot měst. Díky tomuto typu seskupení se budou informace snadněji číst a budou lépe srozumitelné.
Řazení je naopak proces uspořádání pořadí řazení řádků (záznamů) ve výsledcích dotazu. Záznamy můžete například řadit vzestupně nebo sestupně podle hodnot primárních klíčů (nebo jiných sad hodnot v jiném poli) nebo je můžete řadit podle jednoho nebo více znaků v určeném pořadí, například v abecedním pořadí.
POSTUP: Přidání seskupení a řazení k sestavě
-
V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete změnit, a v místní nabídce klikněte na příkaz Zobrazení rozložení nebo Návrhové zobrazení.
-
Na pásu karet klikněte na Návrh sestavy a ve skupině Seskupování & souhrny klikněte na Seskupovat & Seřadit. Pod sestavou se zobrazí podokno Skupina, řazení a souhrn.
-
Chcete-li do sestavy přidat úroveň seskupení, klikněte na tlačítko Přidat skupinu.
-
Chcete-li do sestavy přidat pořadí řazení, klikněte na tlačítko Přidat řazení.
V podokně se zobrazí nová úroveň skupiny nebo pořadí řazení plus seznam polí, která poskytují data pro sestavu. Na tomto obrázku vidíte typickou novou úroveň skupiny (seskupení podle kategorie) a pořadí řazení (řazení podle výrobce) plus seznam, který obsahuje pole dostupná pro seskupování a řazení:
-
Pokud chcete použít Tvůrce výrazů, klikněte pod seznamem dostupných polí na výraz.
-
Do pole pro výraz (horní pole) v Tvůrci výrazů zadejte výraz, který chcete použít. Výraz musí začínat operátorem Rovná se (=).
POSTUP: Přidání výrazu k existující skupině nebo řazení
-
V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete změnit, a v místní nabídce klikněte na příkaz Zobrazení rozložení nebo Návrhové zobrazení.
-
Klikněte na úroveň skupiny nebo pořadí řazení, které chcete změnit.
-
Klikněte na šipku dolů vedle položky Seskupovat (pro úrovně seskupování) nebo Seřadit podle (pro pořadí řazení). Zobrazí se seznam obsahující dostupná pole.
-
Pokud chcete použít Tvůrce výrazů, klikněte v dolní části seznamu polí na výraz.
-
V Tvůrci výrazů zadejte výraz do pole pro výraz (horní pole). Výraz musí začínat operátorem Rovná se (=).
Řízení akcí maker, které se mají spustit
V některých případech je žádoucí provést akci nebo posloupnost akcí v makru jen tehdy, je-li splněna určitá podmínka. Předpokládejme například, že chcete provést akci makra jen v případě, že je hodnota v textovém poli vyšší nebo se rovná 10. Chcete-li toto pravidlo nastavit, použijte výraz v bloku If v makru k definování podmínky v makru.
V tomto příkladu se textové pole nazývá Položky. Výraz, který nastaví podmínku:
[Items]>=10
POSTUP
-
V navigačním podokně klikněte pravým tlačítkem myši na makro, které chcete změnit, a potom klikněte na příkaz Návrhové zobrazení v místní nabídce.
-
Klikněte na blok If, který chcete upravit, nebo přidejte blok If z podokna Katalog akcí.
-
Klikněte na horní řádek bloku If.
-
Do pole zadejte podmíněný výraz nebo klikněte na tlačítko Sestavit vedle pole výrazu a začněte používat Tvůrce výrazů.
Zadané výrazy musí být logické, což znamená, že mají hodnotu True nebo False. Akce makra se spustí v bloku If pouze v případě, že podmínka bude mít hodnotu True.