Úvod k výrazům

Výrazy lze v aplikaci Microsoft Office Access 2007 použít k mnoha úlohám, například k provádění matematických výpočtů, kombinování nebo výběru textu nebo k ověřování dat. V tomto článku naleznete základní informace o výrazech – kdy je použít, v čem se liší od vzorců aplikace Microsoft Office Excel a jaké jsou jejich součásti.

V tomto článku


Základní informace o výrazech

Výraz je kombinace některých nebo všech následujících prvků: předem definované nebo uživatelem definované funkce (Procedura Function: Procedura, která vrací určitou hodnotu a která může být použita ve výrazu. Funkci deklarujete příkazem Function a ukončíte ji příkazem End Function.), identifikátory (Identifikátor (výrazy): Prvek výrazu odkazující na hodnotu pole, ovládacího prvku nebo vlastnosti. Identifikátor Forms![Objednávky]![ČísloObjednávky] například odkazuje na hodnotu ovládacího prvku ČísloObjednávky ve formuláři Objednávky.), operátory (Operátor: Znak nebo symbol, který určuje typ výpočtu, který se má provést ve výrazu. Existují matematické, relační, logické a odkazovací operátory.) a konstanty (Konstanta: Hodnota, která se nepočítá, a proto ani nemění. Konstanta je například číslo 210 a text Čtvrtletní příjmy. Výraz nebo výsledná hodnota výrazu není konstanta.). Výsledkem výrazu je jedna hodnota.

Součásti výrazu

Následující výraz například obsahuje všechny čtyři tyto prvky:

=Sum([Nákupní cena])*0.19

V tomto příkladu je Sum( ) předdefinovaná funkce, [Nákupní cena] je identifikátor, * je matematický operátor a 0.19 je konstanta. Tento výraz lze použít v textovém poli v zápatí formuláře nebo sestavy k výpočtu DPH pro skupinu položek.

Výrazy mohou být mnohem složitější nebo jednodušší než uvedený příklad. Například tento logický (Logická hodnota: Výraz, který lze vyhodnotit jako pravda (není nula) nebo nepravda (0). Pomocí klíčových slov True a False můžete zadat hodnoty -1 a 0. Datový typ pole Ano/Ne je typu Logická hodnota a obsahuje hodnotu -1 pro hodnotu Ano.) výraz sestává pouze z operátoru a konstanty:

>0

Tento výraz vrátí hodnotu True, pokud bude porovnán s číslem větším než 0 a hodnotu False, pokud bude porovnán s číslem menším než 0. Použitím tohoto výrazu ve vlastnosti Ověřovací pravidlo ovládacího prvku nebo pole tabulky můžete zajistit, že budou zadávány pouze kladné hodnoty.

V aplikaci Access jsou výrazy používány na mnoha místech k výpočtům, manipulaci se znaky nebo k testování dat. Tabulky, dotazy, formuláře, sestavy i makra mají vlastnosti, které přijímají výrazy. Výrazy lze například použít ve vlastnostech ovládacího prvku Zdroj ovládacího prvku a Výchozí hodnota. Výrazy lze také použít ve vlastnosti pole tabulky Ověřovací pravidlo. Při psaní kódu jazyka VBA (Visual Basic for Application) pro obslužnou proceduru události nebo pro modul navíc často používáte výrazy podobné těm, které používáte v objektu aplikace Access, například v tabulce nebo dotazu.

 Poznámka   Další informace o součástech výrazu naleznete v části Součásti výrazu dále v tomto článku.

Začátek stránky Začátek stránky

K čemu slouží výrazy

V aplikaci Access můžete pomocí výrazů provádět následující úkoly:

  • Vypočítat hodnoty, které neexistují přímo ve vašich datech. Můžete vypočítat hodnoty pro pole dotazu a pro ovládací prvky ve formulářích a sestavách.
  • Nastavit 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 řídí, které hodnoty mohou uživatelé zadat do pole nebo ovládacího prvku.
  • Určit kritéria pro dotaz.

Jedním z nejběžnějších způsobů použití výrazů v aplikaci Access je výpočet hodnot, které přímo ve vašich datech neexistují. Můžete například vytvořit sloupec v dotazu, který vypočítává součet položek na řádku, a potom tuto hodnotu použít ve formuláři nebo sestavě. Sloupec v dotazu, který je takto vypočítáván, se nazývá vypočítané pole. Následující výraz v dotazu například počítá celkovou cenu položek v řádku po slevě.

RozšířenáCena: CCur([Rozpis objednávek].[Cena za kus]*[Množství]*(1-[Sleva])/100)*100

Tento výraz přidělí výslednému sloupci nebo vypočítanému poli název RozšířenáCena.

Nelze vytvořit pole tabulky, která automaticky počítá vlastní hodnotu. V případě potřeby je možné použít pole tabulky k uložení výsledků výpočtu provedeného jinde (například v dotazu nebo ve formuláři). Pokud však k tomuto postupu neexistuje určitý důvod, je efektivnější ukládat pouze hodnoty potřebné k provedení výpočtu a vypočítat výsledky, až když je potřebujete.

Předpokládejme například, že potřebujete vypočítat celkovou částku v dolarech pro položky na řádku faktury. Namísto uložení celkové částky pro položky na řádku v databázi tuto částku podle potřeby vypočítáte ze dvou jiných hodnot uložených v databázi – z množství a ceny. V textovém poli v sestavě faktury vypočítáte tuto hodnotu pomocí následujícího výrazu:

=CCur([Množství]*[Cena])

Tento výraz vynásobí množství cenou a potom použije funkci CCur (převést na měnu) k převedení výsledku na datový typ Měna. Pro jednotlivé objednávky můžete vypočítat také slevu.

Vypočítané pole můžete vytvořit vždy, když potřebujete vypočítat nebo provést operace u dat ve dvou nebo více polích tabulky. V mnoha tabulkách je například uloženo jméno a příjmení v oddělených polích. Pokud chcete kombinovat jméno a příjmení a zobrazit je v jednom poli, můžete vytvořit vypočítané pole v dotazu. Jak je již uvedeno výše, jako logické se jeví vytvoření tohoto typu vypočítaného pole přímo v tabulce, ale tabulky tento typ operace nepodporují. Neposkytují totiž pole nebo vlastnost, do které by bylo možné přidat potřebný výraz.

Vypočítané pole, ve kterém se kombinuje jméno a příjmení, by vypadalo takto: [Jméno] & " " & [Příjmení]. V tomto případě ampersandy (&) kombinují hodnotu v poli Jméno, znak mezery (mezera vložená mezi uvozovky) a hodnotu v poli Příjmení.

Výrazy také můžete použít k tomu, abyste zadali výchozí hodnotu pro pole v tabulce nebo pro ovládací prvek. Pokud například chcete nastavit výchozí hodnotu datového pole na aktuální datum, můžete pro příslušné pole zadat do pole vlastností Výchozí hodnota hodnotu Date().

Výraz můžete použít také k nastavení ověřovacího pravidla. Mohli byste například použít ověřovací pravidlo, které vyžaduje, aby zadané datum bylo větší než aktuální datum nebo se mu rovnalo. V takovém případě nastavíte hodnotu v poli vlastností Ověřovací pravidlo na >= Date().

Nakonec také můžete použít výraz k nastavení kritérií dotazu. Předpokládejme například, že chcete zobrazit prodej produktu pro objednávky, které byly dodány v určitém časovém rámci. Můžete zadat kritéria a definovat tak rozsah data a aplikace Access vrátí pouze řádky, které vyhovují těmto kritériím. Výraz by v tomto případě mohl vypadat následovně:

Between #1. 1. 2007# And #31. 12. 2007#

Když přidáte kritéria k dotazu a potom dotaz spustíte, vrátí se pouze ty hodnoty, které vyhovují zadaným datům.

Začátek stránky Začátek stránky

Srovnání výrazů aplikace Access a vzorců aplikace Excel

Výrazy aplikace Access se podobají vzorcům aplikace Excel v tom, že k dosažení výsledku používají podobné prvky. Vzorce aplikace Excel i výrazy aplikace Access obsahují jeden nebo více následujících prvků:

  • Identifikátory    V aplikaci Excel jsou identifikátory názvy jednotlivých buněk nebo oblastí buněk v sešitu, například A1, B3:C6, nebo List2!C32. V aplikaci Access jsou identifikátory názvy polí tabulky (například [Kontakty]![Jméno]), ovládací prvky ve formulářích nebo sestavách (například Forms![Seznam úloh]![Popis]) nebo vlastnosti těchto polí nebo ovládacích prvků (například Forms![Seznam úloh]![Popis].ColumnWidth).
  • Operátory    V aplikaci Access i Excel se operátory používají k porovnání hodnot nebo k jednoduchým výpočtům s daty. Příkladem operátorů jsou + (plus) nebo - (mínus).
  • Funkce a argumenty    V aplikaci Access i Excel se funkce a argumenty používají k provedení úloh, které nelze provést pouze 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 SUMA a SMODCH.VÝBĚR. Argumenty jsou hodnoty poskytující informace funkcím. Aplikace Access i Excel obsahují mnoho funkcí, ze kterých si lze vybrat, ale názvy podobných funkcí v těchto programech se mohou lišit. Například funkce PRŮMĚR v aplikaci Excel odpovídá funkci AVG v aplikaci Access.
  • Konstanty    V aplikaci Access i Excel jsou konstanty hodnoty, které se nemění – například textové nebo číselné řetězce, které nejsou vypočítány pomocí výrazu.

Ve výrazech aplikace Access se používají operátory a konstanty podobné těm ve vzorcích aplikace Excel. Výrazy aplikace Access však používají jiné identifikátory a funkce. Vzorec aplikace Excel lze použít pouze na jednom místě – v buňce v listu. Výrazy aplikace Access však lze použít na mnoha místech k provedení mnoha různých úloh včetně následujících:

  • Vytvoření vypočítaných ovládacích prvků ve formulářích a sestavách
  • Vytvoření vypočítaných polí v dotazech
  • Slouží jako kritéria 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 operací můžete provést buď pomocí výrazu aplikace Access nebo vzorce aplikace Excel. 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 aplikace Access = [Cena za kus]*(1-[Sleva]).

Výraz aplikace Access nebo vzorec aplikace Excel lze také použít ke kombinování, rozdělení nebo jiné manipulaci s řetězci pomocí operátorů řetězce. 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 aplikace Access = [Jméno] & " " & [Příjmení].

Začátek stránky Začátek stránky

Součásti výrazu

Výrazy se mohou skládat z identifikátorů, operátorů, funkcí a argumentů, konstant a hodnot. V následujících částech jsou jednotlivé součásti podrobněji popsány. V příkladech v těchto částech jsou také krátké popisy syntaxe, kterou výrazy používají.

Identifikátory

Identifikátor je název pole, vlastnosti nebo ovládacího prvku. Identifikátor ve výrazu slouží k označení hodnoty, která je spojená s polem, vlastností nebo ovládacím prvkem. Podívejte se například na výraz=[DodatDne]-[Datum dodání]. Tento výraz odečte hodnotu pole nebo ovládacího prvku DatumDodání od hodnoty pole nebo ovládacího prvku DodatDne. V tomto výrazu slouží DodatDne i Datum dodání jako identifikátory.

Operátory

Aplikace Access podporuje řadu operátorů, včetně běžných aritmetických operátorů, jako jsou +, -, * (krát), / (děleno). Můžete také používat relační operátory, například < (méně než) nebo > (více než), k porovnávání hodnot, 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 a argumenty

Funkce jsou vestavěné procedury, které můžete použít 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. Takto, kdykoli někdo 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 následujícím příkladu výrazu:

=Format(Date(),"mmmm d, rrrr")

V tomto příkladu jsou použity dva argumenty. První argument je funkce Date(), která vrátí aktuální datum. 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ý do uvozovek. Tento výraz také ukazuje, že hodnotu vrácenou jednou funkcí lze často použít jako argument jiné funkce. V tomto případě slouží funkce Date() jako argument.

Odkazy na další informace o funkcích a výrazech naleznete v části Viz také.

Konstanty

Konstanta je položka, jejíž hodnota se za běhu aplikace Access nemění. Ve výrazech se často používají konstanty True, False a Null. Můžete také definovat svoje vlastní konstanty v kódu jazyka VBA (Visual Basic for Applications), které lze použít v procedurách jazyka VBA. VBA je programovací jazyk, který používá aplikace Access.

 Poznámka   Konstanty jazyka VBA nelze použít ve vlastních funkcích, které používáte ve výrazech. Jazyk VBA má například konstanty pro dny týdne: vbSunday představuje neděli, vbMonday představuje pondělí atd. Každé z těchto konstant odpovídá číselná hodnota: Číselná hodnota pro vbSunday je 1, pro vbMonday je 2 atd. Tyto konstanty nelze použít ve vlastní funkci, která se volá z výrazu. Namísto toho je nutné použít číselné hodnoty.

Hodnoty

Ve výrazech je možné použít hodnoty literálu, jako je číslo 1,254 nebo řetězec "Zadejte hodnotu mezi 1 a 10". Číselné hodnoty mohou být řada číslic, včetně znaménka a desetinné čárky, pokud je to nutné. Pokud znaménko chybí, předpokládá aplikace Access kladnou hodnotu. Chcete-li, aby byla hodnota záporná, musí obsahovat znaménko mínus (-). Můžete také použít exponenciální notaci. V takovém případě použijte písmeno "E" nebo "e" a znak exponenty (např. 1.0E-6).

Když používáte jako konstanty textové řetězce, umístěte je mezi uvozovky, aby je aplikace Access správně rozpoznala. Za některých okolností zadá aplikace Access uvozovky místo vás. Když například zadáte text do výrazu pro ověřovací pravidlo nebo pro kritérium dotazu, doplní aplikace Access uvozovky kolem textu automaticky.

Pokud například zadáte text Paříž, zobrazí aplikace Access ve výrazu "Paříž". Chcete-li, aby výraz vytvořil řetězec, který je ve skutečnosti ohraničený uvozovkami, můžete ohraničit tento vnořený řetězec jednoduchými uvozovkami (') nebo třemi sadami uvozovek ("). Shodné jsou například následující výrazy:

Forms![Kontakty]![Město].DefaultValue = ' "Paříž" '

Forms![Kontakty]![Město].DefaultValue = ' "Paříž" '

Chcete-li použít hodnoty data a času, uzavřete je mezi znaky křížku (#). Platné jsou například všechny hodnoty data a času #3-7-07#, #7-Bře-07# a #Bře-7-2007#. Když aplikace Access zjistí platnou hodnotu data nebo času uzavřenou mezi znaky #, automaticky s ní zachází jako s datovým typem Datum a čas.

Začátek stránky Začátek stránky

Příklady výrazů

V následující tabulce jsou uvedeny některé ukázky výrazů a jejich typické použití:

Výraz Účel
=[DodatDne]-[DatumOdeslání] Vypočte rozdíl mezi hodnotami dat ve dvou ovládacích prvcích typu textového pole (označených DodatDne a Datum dodání) v sestavě.
Date() Nastaví výchozí hodnotu pole tabulky Datum a čas na aktuální datum.
RozšířenáCena: CCur([Rozpis objednávek].Cena za kus*[Množství]*(1-[Sleva])/100)*100 Vytvoří v dotazu vypočítané pole s názvem RozšířenáCena.
Between #1. 1. 2007# And #31. 12. 2007# Slouží k zadání kritérií pro pole Datum a čas v dotazu.
=[Objednávky – podformulář].Form!MezisoučetObjednávky Vrátí hodnotu ovládacího prvku MezisoučetObjednávky v podformuláři Objednávky, který se nachází na formuláři Objednávky.
>0 Nastaví pravidlo ověření 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ě se operátor = používá 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 VýchozíHodnota nebo OvěřovacíPravidlo, se operátor = nepoužívá, pokud výraz nepřidáváte do textového pole v tabulce. V některých případech, například když přidáváte výrazy do dotazů, aplikace Access odstraní operátor = automaticky.

 
 
Platí pro:
Access 2007