Výrazy se dají v Microsoft Accessu používat k mnoha různým úlohám, třeba k matematickým výpočtům, kombinování nebo extrahování textu nebo k ověřování dat. V tomto článku najdete základní informace o výrazech – kdy je použít, v čem se liší od vzorců Microsoft Excelu a jaké jsou jejich součásti.
V tomto článku
- Základní informace o výrazech
- Použití výrazů
- Příklady výrazů
- Součásti výrazu
- Srovnání výrazů Accessu a vzorců Excelu
Základní informace o výrazech
Představte si to takto: Když chcete, aby Access něco udělal, musíte mluvit jeho jazykem. Předpokládejme třeba, že chcete, aby se Access "podíval na pole s daty narození v tabulce zákazníků a řekl vám datum narození určitého zákazníka". Výraz napíšete takto:
DatePart("yyyy",[Customers]![BirthDate])
Tento výraz se skládá z funkce DatePart a dvou hodnot argumentů: "yyyy" a [Customers]![BirthDate].
Podívejme se na tento výraz podrobněji.
1 DatePart je funkce, která kontroluje datum a vrátí určitou část. V tomto případě jsme použili dva argumenty.
2 Argument interval říká Accessu, kterou část data vrátit – v tomto případě "yyyy" říká Accessu, že chcete vrátit jenom část obsahující rok.
3 Argument kalendářního data říká Accessu, kde má hledat hodnotu data – v tomto případě [Customers]![BirthDate] říká Accessu, že má hledat datum v poli s datem narození v tabulce se zákazníky.
Použití výrazů
Výrazy umožňují:
- Vypočítat hodnoty, které nejsou přímo ve vašich datech. Můžete vypočítat hodnoty v polích v tabulkách a dotazech a taky hodnoty v ovládacích prvcích ve formulářích a sestavách.
- Definovat výchozí hodnotu pro pole tabulky nebo ovládací prvek ve formuláři nebo sestavě. Výchozí hodnoty se potom zobrazí při každém otevření tabulky, formuláře nebo sestavy.
- Vytvořit ověřovací pravidlo. Ověřovací pravidlo určuje, které hodnoty můžou uživatelé zadat do pole nebo ovládacího prvku.
- Definovat kritéria dotazu a omezit tak výsledky na požadovanou dílčí sadu.
Výpočet hodnot
Jedním z nejběžnějších způsobů použití výrazů v Accessu je výpočet hodnot, které neexistují přímo ve vašich datech. Sloupec v tabulce nebo dotazu, který pochází z výpočtu, se nazývá počítané pole. Můžete vytvořit počítané pole, které kombinuje dvě nebo více polí tabulky. V mnoha tabulkách se například jméno a příjmení ukládají v samostatných polích. Pokud chcete zkombinovat jméno a příjmení a zobrazit je v jednom poli, můžete v tabulce nebo dotazu vytvořit počítané pole:
[FirstName] & " " & [LastName].
V tomto případě ampersandy (&) kombinují hodnotu v FirstName poli, znak mezery (mezeru uzavřenou do uvozovek) a hodnotu v LastName poli.
Definování výchozí hodnoty
Výrazy v Accessu taky můžete použít k tomu, abyste zadali výchozí hodnotu pro pole v tabulce nebo pro ovládací prvek. Pokud třeba chcete nastavit výchozí hodnotu pole s datem na aktuální datum, zadáte do pole vlastnosti Výchozí hodnota pro dané pole toto:
Date()
Vytvoření ověřovacího pravidla
Výraz můžete použít také k nastavení ověřovacího pravidla. V ovládacím prvku nebo poli tabulky byste třeba mohli použít ověřovací pravidlo, které bude vyžadovat, aby bylo zadané datum stejné jako aktuální datum nebo pozdější. V takovém případě nastavíte hodnotu v poli vlastnosti Ověřovací pravidlo takto:
>= Date()
Definování kritérií dotazu
A konečně, výraz můžete použít taky k nastavení kritérií dotazu. Předpokládejme třeba, že chcete zobrazit prodej produktů u objednávek, které se expedovaly v určitém časovém rámci. Zadáním kritérií můžete definovat rozsah dat a Access vrátí jenom řádky, které těmto kritériím vyhovují. Výraz by v tomto případě mohl vypadat následovně:
Between #1/1/2017# And #12/31/2017#
Když k dotazu přidáte kritéria a potom ho spustíte, vrátí jenom ty hodnoty, které vyhovují zadaným datům.
Příklady výrazů
V této tabulce najdete pár ukázek accessových výrazů a jejich typického použití:
| Výraz | Účel |
|---|---|
=[RequiredDate]-[ShippedDate] |
Vypočítá rozdíl mezi hodnotami dat ve dvou ovládacích prvcích typu Textové pole označených RequiredDate (Dodat dne) a ShippedDate (Datum odeslání) v sestavě. |
Date() |
Nastaví výchozí hodnotu pole tabulky typu Datum a čas na aktuální datum. |
Between #1/1/2017# And #12/31/2017# |
Určuje kritéria pro pole typu Datum a čas v dotazu. |
=[Orders Subform].Form!OrderSubtotal |
Vrátí hodnotu ovládacího prvku OrderSubtotal (Mezisoučet objednávky) v podformuláři s názvem Orders Subform (Podformulář objednávek), který je ve formuláři Orders (Objednávky). |
>0 |
Nastaví ověřovací pravidlo pro číselné pole v tabulce – uživatelé musí zadat hodnoty větší než nula. |
Některé výrazy začínají operátorem rovná se (=) a jiné ne. Při počítání hodnoty pro ovládací prvek ve formuláři nebo v sestavě používáte = operátor na začátku výrazu. V jiných výskytech výrazu, například v dotazu nebo ve vlastnosti pole nebo ovládacího prvku DefaultValue nebo ValidationRule , se operátor nepoužívá = , pokud výraz nepřidáváte do textového pole v tabulce. V některých případech, třeba když přidáváte výrazy do dotazů, Access tento = operátor automaticky odebere.
Součásti výrazu
Výraz se skládá z několika možných součástí, které můžete samostatně nebo v kombinacích používat k dosažení nějakého výsledku. Mezi tyto součásti patří:
- Identifikátory: Názvy polí tabulky nebo ovládacích prvků formulářů nebo sestav, případně vlastnosti těchto polí a ovládacích prvků
-
Operátory Například
+(plus) nebo-(mínus). - Funkce Například SUM nebo AVG
- Konstanty: Hodnoty, které se nemění, třeba řetězce textu nebo čísla, která se nepočítají pomocí výrazu
- Hodnoty Řetězce, třeba "Zadejte číslo v rozmezí 1 až 10", nebo čísla (třeba 1 254), které se používají v operacích
Následující části obsahují podrobnější informace o těchto součástech.
Identifikátory
Identifikátor je název pole, vlastnosti nebo ovládacího prvku. Identifikátor ve výrazu slouží k označení hodnoty spojené s polem, vlastností nebo ovládacím prvkem. Podívejte se například na výraz =[RequiredDate]-[ShippedDate]. Tento výraz odečte hodnotu ShippedDate pole nebo ovládacího prvku od hodnoty RequiredDate pole nebo ovládacího prvku. V tomto výrazu slouží obě RequiredDate slova a ShippedDate jako identifikátory.
Operátory
Access podporuje řadu operátorů včetně běžných aritmetických operátorů, jako jsou +, -* , (násobení) a / (děleno). K porovnávání hodnot můžete také používat relační operátory, například < (menší než) nebo > (větší než), textové operátory, například & a + , ke spojování (kombinování) textu, logické operátory, například Not a And , k určení hodnot True a False a další operátory specifické pro aplikaci Access.
Funkce
Funkce jsou předdefinované procedury, které můžete používat ve svých výrazech. Funkce se používají k řadě operací, jako jsou výpočty hodnot, manipulace s textem a daty a shrnutí dat. Běžně se používá například funkce DATE, která vrací aktuální datum. Funkci DATE můžete použít mnoha způsoby, například ve výrazu, který nastaví výchozí hodnotu pro pole v tabulce. Kdykoli pak někdo v takovém případě přidá nový záznam, bude výchozí hodnotou pro toto pole aktuální datum.
Některé funkce vyžadují argumenty. Argument je hodnota, která poskytuje vstup do funkce. Pokud funkce vyžaduje více argumentů, oddělíte je čárkou. Podívejte se například na funkci DATE v tomto příkladu výrazu:
=Format(Date(),"mmmm d, yyyy")
V tomto příkladu jsou použity dva argumenty:
- Prvním argumentem je funkce
Date(), která vrací aktuální datum. I když nezadáte žádné argumenty, musíte přidat závorky funkce. - Druhý argument
"mmmm d, yyyy", který je od prvního argumentu oddělený čárkou, je textový řetězec, který funkci FORMAT podává instrukce, jak má formátovat vrácenou hodnotu data. Všimněte si, že textový řetězec musí být uzavřený v uvozovkách.
Tento výraz také ilustruje to, že často vnořujete hodnotu vrácenou jednou funkcí jako argument do jiné funkce. V tomto případě Date() slouží jako argument.
Konstanty
Konstanta je položka, jejíž hodnota se v době, kdy Access běží, nemění. Konstanty True, Falsea Null a jsou často používány ve výrazech.
Hodnoty
Ve výrazech můžete používat hodnoty literálu, třeba číslo 1 254 nebo řetězec „Zadejte číslo v rozmezí 1 až 10“. Můžete používat i číselné hodnoty, kterými mohou být řady číslic včetně znaménka a desetinné čárky.
Když jako hodnoty používáte textové řetězce, dejte je do uvozovek, aby je Access správně rozpoznal. Za některých okolností zadá Access uvozovky za vás. Když třeba zadáte text do výrazu pro ověřovací pravidlo nebo pro kritérium dotazu, doplní Access uvozovky kolem textu automaticky.
Pokud chcete použít hodnoty data/času, uzavřete je mezi znaky křížku (#). Například #3-7-17#, #7-Mar-17#, a jsou to všechno platné hodnoty data a #Mar-7-2017# času. Když Access zjistí platnou hodnotu data a času uzavřenou mezi znaky #, automaticky s ní zachází jako s datovým typem Datum a čas.
Srovnání výrazů Accessu a vzorců Excelu
Accessové výrazy se podobají excelovým vzorcům v tom, že k dosažení výsledku používají podobné prvky. Excelové vzorce i accessové výrazy obsahují jeden nebo několik následujících prvků:
-
Identifikátory V Excelu jsou identifikátory názvy jednotlivých buněk nebo oblastí buněk v sešitu, třeba A1, B3:C6 nebo List2. Č. 32. V Accessu jsou identifikátory názvy polí tabulky (třeba
[Contacts]![First Name]), ovládací prvky ve formulářích nebo sestavách (třebaForms![Task List]![Description]) nebo vlastnosti těchto polí nebo ovládacích prvků (třebaForms![Task List]![Description].ColumnWidth). -
Operátory V Accessu i Excelu se operátory používají k porovnání hodnot nebo k jednoduchým výpočtům s daty. Příkladem může být
+znaménko plus nebo-mínus. - Funkce V Accessu i Excelu se funkce a argumenty používají k provádění úloh, které se nedají udělat jenom pomocí operátorů – můžete například určit průměr z hodnot v poli nebo převést výsledek výpočtu na formát měny. Příkladem funkce je SUM a STDEV. Argumenty jsou hodnoty, které poskytují informace funkcím. Poznámka: Access i Excel obsahují spoustu funkcí, ze kterých se dá vybírat, ale názvy podobných funkcí se v těchto programech někdy liší. Třeba funkce PRŮMĚR v Excelu odpovídá v Accessu funkci AVG.
- Konstanty: V Accessu i Excelu jsou konstanty hodnoty, které se nemění – například čísla, která se nevypočítávají pomocí výrazu.
- Hodnoty V Accessu i Excelu se hodnoty používají podobným způsobem.
Výrazy v Accessu používají operátory a konstanty, které jsou podobné těm, které se používají ve vzorcích Excelu, ale výrazy v Accessu používají odlišné identifikátory a funkce. Zatímco excelové vzorce se obecně používají jenom v buňkách listu, výrazy v Accessu se používají na různých místech v Accessu pro širokou škálu úkolů včetně následujících:
- Vytvoření počítaných ovládacích prvků ve formulářích a sestavách
- Vytvoření počítaných polí v tabulkách a dotazech
- Použití jako kritérií v dotazech
- Ověření dat zadávaných do pole nebo do ovládacího prvku ve formuláři
- Seskupování dat v sestavách
Výpočet číselných hodnot nebo hodnot data a času pomocí matematických operátorů můžete udělat buď pomocí accessového výrazu, nebo excelového vzorce. Chcete-li například vypočítat cenu po slevě pro zákazníka, můžete použít vzorec aplikace Excel =C2*(1-D2) nebo výraz = [Unit Price]*(1-[Discount])aplikace Access.
Accessový výraz nebo excelový vzorec se dají také použít ke sloučení nebo rozdělení řetězců (nebo jiné manipulaci s nimi) pomocí operátorů pro práci s řetězci. Chcete-li například spojit jméno a příjmení do jednoho řetězce, můžete použít vzorec aplikace Excel =D3 & " " & D4 nebo výraz = [First Name] & " " & [Last Name]aplikace Access.
Použití Tvůrce výrazůTvorba výrazuPrůvodce syntaxí výrazuPříklady výrazů