Průvodce syntaxí výrazu

Při používání Microsoft Accessu narazíte na situace, kdy bude nutné pracovat s hodnotami, které se nenacházejí přímo ve vašich datech. Budete třeba potřebovat vypočítat prodejní daň na objednávce nebo celkovou hodnotu samotné objednávky. Tyto hodnoty můžete počítat pomocí výrazů.

Abyste mohli použít výrazy, musíte je nejdřív napsat s použitím správné syntaxe. Syntaxe představuje sadu pravidel, podle kterých se správně kombinují slova a symboly ve výrazu.

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“. Tento výraz napíšete jako DatePart("rrrr"; [Zákazníci]![DatumNarození]). Tento výraz se skládá z funkce DatePart a dvou hodnot argumentů – "rrrr" a [Zákazníci]![DatumNarození].

Podívejme se na tento výraz podrobněji.

Vzorový výraz

1. DatePart je funkce, která kontroluje datum a vrátí určitou část.

Tip : Od Accessu 2010 obsahuje Tvůrce výrazů IntelliSense, takže vidíte, jaké argumenty výraz vyžaduje.

2. Argument interval říká Accessu, kterou část data vrátit – v tomto případě "rrrr" říká Accessu, že chcete vrátit jenom část obsahující rok.

3. Argument datum říká Accessu, kde má hledat hodnotu data – v tomto případě [Zákazníci]![DatumNarození] říká Accessu, že má hledat datum v poli DatumNarození v tabulce Zákazníci.

Jak můžete vidět, výrazy v Accessu používají jazyk, který vám zpočátku může připadat poněkud složitý. S pochopením syntaxe výrazů a trochou praxe se všechno zjednoduší.

Než se pokusíte psát výrazy, měli byste porozumět některým klíčovým pojmům. Tento článek představuje pojmy, kterým je potřeba porozumět, abyste mohli používat správnou syntaxi, a popisuje syntaxi, která se používá ve výrazech.

Tento článek se nezabývá syntaxí jazyka SQL (Structured Query Language) a neslouží ani jako příručka k syntaxi jazyka Visual Basic pro Applications (VBA).

V tomto článku

Úvod

Objekty, kolekce a vlastnosti

Identifikátory

Funkce, operátory a konstanty

Úvod

Pokud chcete vytvořit výraz, zkombinujete identifikátory pomocí funkcí, operátorů a konstant. Libovolný platný výraz musí obsahovat aspoň jednu funkci nebo aspoň jeden identifikátor a může obsahovat také konstanty nebo operátory. Výraz můžete použít také jako část jiného výrazu – obvykle argumentu nebo funkce.

  • Identifikátory ve výrazech   : Obecný formát identifikátoru ve výrazu je [Název kolekce]![Název objektu].[Název vlastnosti].

    Poznámka : Vy musíte jenom zadat dost částí identifikátoru, aby byl v kontextu vašeho výrazu jedinečný. Identifikátor má často formát [Název objektu].

  • Funkce ve výrazech   : Obecný formát výrazu, který používá funkci, je Funkce(argument, argument), kde je jeden z argumentů obvykle identifikátor nebo výraz.

    Poznámka : Některé funkce nevyžadují žádné argumenty.

    Než použijete určitou funkci, přečtěte si odpovídající informace o syntaxi dané funkce v příslušném článku nápovědy.

  • Operátory ve výrazech   : Obecný formát výrazu, který používá operátor, je Identifikátor operátor identifikátor. U tohoto formátu jsou určité výjimky, jak je uvedeno v tabulkách v oddílu Operátory.

  • Konstanty ve výrazech   : Obecný formát výrazu, který používá konstantu, je Identifikátor operátor_porovnání konstanta.

Začátek stránky

Objekty, kolekce a vlastnosti

Všechny jednotlivé tabulky, dotazy, formuláře, sestavy a pole v databázi aplikace Access se označují jako objekty. Každý objekt má název. Některé objekty už název mají, třeba tabulka Kontakty v databázi vytvořená ze šablony Kontakty v Microsoft Office Accessu. Když vytvoříte nový objekt, dáte mu název.

Sada všech členů určitého typu objektu se označuje jako kolekce. Kolekce je například sada všech tabulek v databázi. Některé objekty, které jsou členem kolekce ve vaší databázi, můžou být také kolekcemi, které obsahují další objekty. Například objekt tabulky představuje kolekci, která obsahuje objekty pole.

Objekty mají vlastnosti, které popisují vlastnosti objektu a nabízí možnost je změnit. Například objekt dotazu má vlastnost Výchozí zobrazení, která popisuje i umožňuje určit, jak se dotaz zobrazí při spuštění.

V následujícím schématu můžete vidět vztah mezi kolekcemi, objekty a vlastnostmi:

Vzájemné vztahy kolekcí, objektů a vlastností

1. Kolekce webů

2. Objekt

3. Vlastnost

Začátek stránky

Identifikátory

Když použijete ve výrazu objekt, kolekci nebo vlastnost, odkazujete na daný prvek s použitím identifikátoru. Identifikátor obsahuje název prvku, který identifikujete, a také název elementu, ke kterému patří. Například identifikátor pro pole obsahuje název pole a název tabulky, do které pole patří. Příklad takového identifikátoru najdete v předchozím příkladu výrazu: [Zákazníci]![DatumNarození].

V některých případech bude fungovat název prvku sám o sobě jako identifikátor. Platí to, pokud je název prvku v kontextu výrazu, který vytváříte, jedinečný. Zbytek identifikátoru vyplývá z kontextu. Když například navrhujete dotaz, který používá jenom jednu tabulku, budou samotná pole fungovat jako identifikátory, protože názvy polí v tabulce musí být v této tabulce jedinečné. Vzhledem k tomu, že používáte jenom jednu tabulku, obsahuje název tabulky každý identifikátor, který používáte v daném dotazu k odkazování na pole.

V ostatních případech je nutné k tomu, aby odkaz fungoval, uvést přesně části identifikátoru. Platí to tehdy, když není identifikátor jedinečný v kontextu výrazu. V případě nejasnosti je potřeba přesně uvést dostatečný počet částí identifikátoru, aby byl v kontextu jedinečný. Předpokládejme například, že navrhujete dotaz, který používá tabulku s názvem Výrobky a tabulku s názvem Objednávky, a že obě tabulky obsahují pole s názvem Kód produktu. V takovém případě musí identifikátor, který použijete v dotazu pro odkaz na pole Kód produktu, obsahovat kromě názvu pole také název tabulky, například [Výrobky]![Kód produktu].

Operátory identifikátoru   : V identifikátoru je možné použít jeden ze tří operátorů.

  • Operátor vykřičník (!)

  • Operátor tečka (.)

  • Operátor hranaté závorky ([ ])

Tyto operátory se používají tak, že každou část identifikátoru ohraničíte hranatými závorkami a pak je spojíte pomocí operátoru ! (vykřičník) nebo . (tečka). Například identifikátor pole s názvem Příjmení v tabulce nazvané Zaměstnanci je možné vyjádřit jako [Zaměstnanci]![Příjmení]. Operátor vykřičník říká Accessu, že následuje objekt, který patří ke kolekci před operátorem vykřičník. V tomto případě je [Příjmení] objekt pole, který patří ke kolekci [Zaměstnanci], která je sama objektem tabulky.

Poznámka : Abychom byli přesní, ne vždy je nutné psát kolem identifikátoru nebo částečného identifikátoru hranaté závorky. Pokud identifikátor neobsahuje žádné mezery ani jiné speciální znaky, přidá Access závorky automaticky při čtení výrazu. Je ale vhodné, abyste psali závorky sami – pomůže vám to vyhnout se chybám a funguje to také jako vizuální nápověda, že je určitá část výrazu identifikátor.

Začátek stránky

Funkce, operátory a konstanty

Pokud chcete vytvořit výraz, budete potřebovat víc než identifikátory – bude nutné provést nějakou akci. K provádění akcí ve výrazu slouží funkce, operátory a konstanty.

Funkce

Funkce je postup, který můžete použít ve výrazu. Některé funkce, jako je třeba Date, nevyžadují k tomu, aby fungovaly, žádný vstup. Většina funkcí ale vyžaduje vstup, tzv. argumenty. V příkladu na začátku tohoto článku používá funkce DatePart dva argumenty: argument interval (s hodnotou "rrrr") a argument datum (s hodnotou [Zákazníci]![DatumNarození]). Funkce DatePart vyžaduje minimálně tyto dva argumenty (interval a datum), ale může je mít až čtyři.

Poznámka : Pokud funkce obsahuje více než jeden argument, oddělují se tyto argumenty středníky.

V následujícím seznamu vidíte některé funkce, které se běžně používají ve výrazech. Další informace o syntaxi, která se používá s danou funkcí, zobrazíte kliknutím na odkaz na příslušnou funkci.

  • Date: Funkce Date se používá k vložení aktuálního systémového data do výrazu. Používá se běžně společně s funkcí Formát a také společně s identifikátory polí, která obsahují data kalendářního data a času.

  • DatePart: Funkce DatePart se používá k určení nebo extrakci části kalendářního data – obvykle data získaného z identifikátoru pole, někdy se ale jedná o hodnotu data vrácenou jinou funkcí, jako je třeba Date.

  • DateDiff: Funkce DateDiff se používá k určení rozdílu mezi dvěma daty – obvykle mezi datem získaným z identifikátoru pole a datem získaným pomocí funkce Date.

  • Format: Funkce Format umožňuje použít formát u identifikátoru a také použít formát u výsledků jiné funkce.

  • IIf: Funkce IIf slouží k vyhodnocení výrazu jako true nebo false a k následnému vrácení jedné určené hodnoty, pokud je výraz vyhodnocený jako true, a jiné určené hodnoty, pokud je výraz vyhodnocený jako false.

  • InStr: Funkce InStr se používá k vyhledání pozice znaku nebo řetězce v jiném řetězci. Hledaný řetězec se obvykle získá z identifikátoru pole.

  • Left, Mid a Right: Tyto funkce se používají k extrakci znaků z řetězce, a to od znaku nejvíce nalevo (Left), určité pozice uprostřed (Mid) nebo znaku úplně napravo (Right). Běžně se používají společně s funkcí InStr. Řetězec, ze kterého tyto funkce extrahují znaky, se obvykle získává z identifikátoru pole.

Seznam funkcí zařazených do kategorií najdete v článku Funkce (seřazené podle kategorie).

Operátory

Operátor je slovo nebo symbol označující určitý aritmetický nebo logický vztah mezi ostatními prvky výrazu. Operátory můžou být následující:

  • Aritmetické, jako je znaménko plus (+)

  • Relační, jako je znaménko rovná se (=)

  • Logické, jako je třeba Not

Operátory se nejčastěji používají k označení vztahu mezi dvěma identifikátory. Následující tabulky popisují operátory, které můžete použít v accessových výrazech.

Aritmetické operátory   

Aritmetické operátory slouží k výpočtu hodnoty ze dvou nebo více čísel nebo ke změně znaménka čísla z kladného na záporné.

Operátor

Účel

Příklad

+

Sečte dvě čísla.

[Mezisoučet] + [DPH]

-

Vypočítá rozdíl mezi dvěma čísly nebo označí zápornou hodnotu čísla.

[Cena]-[Sleva]

*

Vynásobí dvě čísla.

[Množství]*[Cena]

/

Vydělí první číslo druhým číslem.

[Celkem]/[PočetPoložek]

\

Zaokrouhlí obě čísla na celé číslo, potom vydělí první číslo druhým číslem a výsledek zobrazí jako celé číslo.

[Přihlášeno]\[Pokoje]

Mod

Vydělí první číslo druhým číslem a vrátí jenom zbytek.

[Přihlášeno] Mod [Pokoje]

^

Vypočítá číslo umocněné na zadanou mocninu.

Číslo ^ Mocnina

Relační operátory   

Relační operátory slouží k porovnání hodnot a vrácení výsledku, který má hodnotu True, False nebo Null (neznámá hodnota).

Operátor

Účel

<

Určuje, jestli je první hodnota menší než druhá.

<=

Určuje, jestli je první hodnota menší nebo rovna druhé hodnotě.

>

Určuje, jestli je první hodnota větší než druhá.

>=

Určuje, jestli je první hodnota větší nebo rovna druhé hodnotě.

=

Určuje, jestli se první hodnota rovná druhé hodnotě.

<>

Určuje, jestli se první hodnota nerovná druhé hodnotě.

Ve všech případech, pokud je první nebo druhá hodnota Null, bude mít hodnotu Null i výsledek. Protože hodnota Null představuje neznámou hodnotu, nebude znám ani žádný výsledek porovnání s hodnotou Null.

Logické operátory   

Logické operátory slouží ke kombinování dvou hodnot a vrací hodnoty True, False nebo Null. Logické operátory se označují taky jako Booleovské.

Operátor

Použití

Popis

And

Výraz1 And Výraz2

Vrátí hodnotu True, pokud má Výraz1 i Výraz2 hodnotu True.

Or

Výraz1 Or Výraz2

Vrátí hodnotu True, pokud má Výraz1 nebo Výraz2 hodnotu True.

Eqv

Výraz1 Eqv Výraz2

Vrátí hodnotu True, pokud má Výraz1 i Výraz2 hodnotu True nebo pokud mají oba výrazy hodnotu False.

Not

Not Výraz

Vrátí hodnotu True, pokud Výraz nemá hodnotu True.

Xor

Výraz1 Xor Výraz2

Vrátí hodnotu True, pokud má hodnotu True Výraz1 nebo Výraz2, ale ne oba výrazy.

Operátory zřetězení   

Operátory zřetězení slouží ke sloučení dvou textových hodnot do jednoho řetězce.

Operátor

Použití

Popis

&

řetězec_1 & řetězec_2

Sloučí dva řetězce do jednoho.

+

řetězec_1 + řetězec_2

Sloučí dva řetězce do jednoho a zachovává při řetězení hodnoty null.

Speciální operátory   

Použití speciálních operátorů je popsané v následující tabulce.

Operátor

Popis

Další informace

Is Null nebo Is Not Null

Určuje, jestli je hodnota Null nebo Not Null.

Like "vzorek"

Porovná řetězcové hodnoty pomocí zástupných znaků ? a *.

Operátor Like

Between hodn1 And hodn2

Určí, jestli se číselná hodnota nebo datum nachází v daném rozsahu.

Operátor Between...And

In(řetězec_1,řetězec_2...)

Určuje, jestli je hodnota řetězce obsažená v sadě hodnot řetězců.

Operátor in

Konstanty

Konstanta je známá hodnota, která se nemění a kterou můžete použít ve výrazu. V Accessu existují čtyři běžně používané konstanty:

  • True    označuje něco, co je logicky pravda.

  • False    označuje něco, co je logicky nepravda.

  • Null    označuje chybějící známou hodnotu.

  • "" (prázdný řetězec)    označuje hodnotu, o které se ví, že je prázdná.

Konstanty se dají použít jako argumenty u funkce a je možné je použít ve výrazu jako součást kritéria. Můžete například použít konstantu prázdného řetězce ("") jako část kritéria sloupce v dotazu pro vyhodnocení hodnot polí pro příslušný sloupec, a to zadáním následujících znaků jako kritéria: <> "". V tomto příkladu je <> operátor a "" konstanta. Při společném použití označují, že by měl být identifikátor, u kterého jsou použity, porovnán s prázdným řetězcem. Výsledný výraz má hodnotu true, když je hodnota identifikátoru cokoli jiného než prázdný řetězec.

Poznámka : Konstantu Null používejte obezřetně. Ve většině případů bude výsledkem použití konstanty Null ve spojení s operátorem chyba. Pokud chcete porovnat hodnotu s hodnotou Null ve výrazu, použijte operátor Is Null nebo Is Not Null.

Další informace o použití výrazů najdete v článku Tvorba výrazu.

Začátek stránky

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×