Sprievodca syntaxou výrazov

Pri používaní Microsoft Accessu sa môžu vyskytnúť situácie, v ktorých budete musieť pracovať s hodnotami, ktoré sa nenachádzajú priamo v údajoch. Môžete napríklad vypočítať daň z predaja v objednávke alebo celkovú sumu samotnej objednávky. Tieto hodnoty môžete vypočítať pomocou výrazov. Výrazy môžete použiť po ich zadaní pomocou správnej syntaxe. Syntax je množina pravidiel, na základe ktorých sú slová a symboly vo výraze správne skombinované. V začiatkoch sa môže zdať práca s výrazmi v Accesse zložitá. Všetko však bude jednoduchšie, ak syntaxi výrazov porozumiete a trošku si ich používanie precvičíte.

Obsah tohto článku

Prehľad výrazov

Súčasti výrazov

Objekty, kolekcie a vlastnosti

Identifikátory

Funkcie, operátory, konštanty a hodnoty

Obmedzenie vnárania výrazov vo webovej databáze je 65 úrovní

Prehľad výrazov

Výraz predstavuje kombináciu niektorých alebo všetkých nasledujúcich položiek: vstavané alebo používateľom definované funkcie, identifikátory, operátory, hodnoty a konštanty. Každý výraz sa vyhodnotí ako jedna hodnota.

Súčasti výrazu

Nasledujúci výraz napríklad obsahuje bežné súčasti:

=Sum([Purchase Price])*0.08 
  • Sum() je vstavaná funkcia

  • [Purchase Price] je identifikátor

  • * je matematický operátor

  • 0.08 je konštanta

Tento výraz možno v textovom poli v päte formulára alebo zostavy použiť na vypočítanie dane z predaja pre skupinu položiek.

Výrazy môžu byť komplexnejšie alebo jednoduchšie ako v tomto príklade. Napríklad nasledujúci boolovský výraz výraz pozostáva len z operátora a konštanty:

>0

Tento výraz vráti:

  • Hodnotu True, keď sa porovnáva s číslom väčším ako 0.

  • Hodnotu False, keď sa porovnáva s číslom menším ako 0.

Tento výraz môžete použiť v poli vlastnosti Overovacie pravidlo ovládacieho prvku alebo tabuľky a zabezpečiť, aby sa zadávali len kladné hodnoty. Výrazy sa používajú na mnohých miestach na vykonávanie výpočtov, manipuláciu so znakmi alebo na testovanie údajov. Všetky tabuľky, dotazy, formuláre, zostavy a makrá majú vlastnosti, ktoré akceptujú výraz. Výrazy môžete napríklad použiť vo vlastnostiach Zdroj ovládacieho prvku a Predvolená hodnota pre ovládací prvok. Výrazy môžete tiež použiť v poli vlastnosti Overovacie pravidlo tabuľky.

Na začiatok stránky

Súčasti výrazov

Pri vytváraní výrazu kombinujete identifikátory pomocou funkcií, operátorov, konštánt a hodnôt. Každý platný výraz musí obsahovať aspoň jednu funkciu alebo aspoň jeden identifikátor a môže obsahovať aj konštanty alebo operátory. Výraz môžete použiť aj v rámci iného výrazu – zvyčajne ako argument danej funkcie. Nazýva sa to vnorenie výrazu.

  • Identifikátory    Všeobecný tvar je:

    [Collection name]![Object name].[Property name]

    Ak chcete, aby bol identifikátor v kontexte výrazu jedinečný, stačí zadať dostatok častí identifikátora. Nie je nič nezvyčajné, ak má identifikátor tvar [Object name].

  • Funkcie    Všeobecný tvar je:

    Function(argument, argument)

    Jedným z argumentov je zvyčajne identifikátor alebo výraz. Niektoré funkcie argumenty nevyžadujú. Pred použitím konkrétnej funkcie skontrolujte syntax tejto funkcie. Ďalšie informácie nájdete v téme Funkcie (podľa kategórie).

  • Operátory    Všeobecný tvar je:

    Identifier operator identifier

    Ako je to podrobne znázornené v sekcii Operátory, pri tomto tvare sa vyskytujú výnimky.

  • Konštanty    Všeobecný tvar je:

    Identifier comparison_operator  constant
  • Hodnoty    Hodnoty sa môžu vo výrazoch vyskytovať na viacerých miestach.

Na začiatok stránky

Objekty, kolekcie a vlastnosti

Všetky tabuľky, dotazy, formuláre, zostavy a polia v accessovej databáze sa jednotlivo označujú ako objekty. Každý objekt má názov. Niektoré z objektov sú už pomenované, ako napríklad tabuľka Kontakty v databáze vytvorená zo šablóny Kontakty programu Microsoft Office Access. Pri vytváraní nového objektu ho pomenujete.

Množina všetkých súčastí konkrétneho typu objektu sa nazýva kolekcia. Kolekciou je napríklad množina všetkých tabuliek v databáze. Niektoré objekty, ktoré sú súčasťou kolekcie v databáze, môžu byť aj kolekcie obsahujúce iné objekty. Napríklad objekt tabuľky je kolekcia, ktorá obsahuje objekty polí.

Objekty majú vlastnosti, ktoré popisujú a poskytujú možnosti na zmenu charakteristík objektu. Objekt dotazu má napríklad vlastnosť Predvolené zobrazenie, ktoré popisuje a umožňuje spôsob zobrazenia dotazu pri jeho spustení.

Nasledujúci diagram znázorňuje vzťah medzi kolekciami, objektmi a vlastnosťami:

Vzťahy kolekcií k objektom a k vlastnostiam

3 Vlastnosť

2 Objekt

1 Kolekcia

Na začiatok stránky

Identifikátory

Ak vo výraze použijete objekt, kolekciu alebo vlastnosť, použitím identifikátora vlastne odkazujete na tento prvok. Identifikátor obsahuje názov prvku, ktorý identifikujete, a tiež názov prvku, ku ktorému patrí. Napríklad identifikátor pre pole obsahuje názov poľa a názov tabuľky, do ktorej dané pole patrí. Príklad takéhoto identifikátora:

[Customers]![BirthDate]

V niektorých prípadoch funguje názov prvku samostatne ako identifikátor. Toto platí, keď je názov prvku v kontexte vytváraného výrazu jedinečný. Zvyšok identifikátora je odvodený z kontextu. Ak napríklad navrhujete dotaz, ktorý používa iba jednu tabuľku, samotné názvy polí budú fungovať ako identifikátory, pretože názvy polí v tabuľke musia byť v danej tabuľke jedinečné. Keďže používate len jednu tabuľku, názov tabuľky je zahrnutý v každom identifikátore, pomocou ktorého v dotaze odkazujete na pole.

V iných prípadoch musíte časti identifikátora slúžiaceho na odkazovanie jasne vymedziť, inak nebude fungovať. Toto platí, ak identifikátor nie je v kontexte výrazu jedinečný. V prípade nejasností musíte jasne vymedziť dostatočný počet častí identifikátora. Len tak môže byť v rámci kontextu jedinečný. Povedzme napríklad, že vytvárate dotaz, ktorý používa tabuľku s názvom Produkty a tabuľku s názvom Objednávky, a obe tabuľky obsahujú pole s názvom IDProduktu. V takom prípade identifikátor, ktorý v dotaze používate na odkazovanie na niektoré z týchto polí s názvom IDProduktu, musia okrem názvu poľa zahŕňať aj názov tabuľky. Napríklad:

[Products]![ProductID]

Operátory identifikátora    Existujú tri operátory, ktoré môžete v identifikátore použiť:

  • Operátor výkričník (!)

  • Operátor bodka (.)

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

Tieto operátory môžete použiť na ohraničenie jednotlivých častí identifikátora hranatými zátvorkami a ich spájanie pomocou operátora výkričník alebo bodka. Napríklad identifikátor pre pole s názvom Priezvisko v tabuľke Zamestnanci môže byť vyjadrený takto: [Employees]![Last Name]. Operátor výkričník informuje Access o tom, že nasleduje objekt patriaci do kolekcie, ktorá predchádza operátoru výkričník. V tomto prípade je [Priezvisko] objekt poľa patriaci do kolekcie [Zamestnanci], ktorá je zároveň objektom tabuľky.

Presnejšie povedané, okolo identifikátora alebo čiastočného identifikátora nemusíte vždy zadávať hranaté zátvorky. Ak sa v identifikátore nenachádza žiadna medzera ani iný špeciálny znak, Access pri čítaní výrazu automaticky k nemu pridá zátvorky. Je však vhodné, aby ste zátvorky zadávali sami. Takto predídete chybám. Platí to aj pre funkcie, vďaka ktorým získate vizuálny prehľad o tom, že určitá časť výrazu je vlastne identifikátorom.

Na začiatok stránky

Funkcie, operátory, konštanty a hodnoty

Pri vytváraní výrazu potrebujete viac než len identifikátory. Je potrebné vykonať aj určité akcie. Tieto akcie vo výraze sa vykonávajú pomocou funkcií, operátorov a konštánt.

Funkcie

Funkcia je postup, ktorý môžete použiť vo výraze. Niektoré funkcie, ako napríklad Date, nevyžadujú žiadny vstup na to, aby fungovali. Väčšina funkcií však vstup nazvaný argumenty vyžaduje.

V príklade na začiatku tohto článku používa funkcia DatePart dva argumenty: argument intervalu s hodnotou "yyyy" a argument dátumu s hodnotou [Customers]![BirthDate]. Funkcia DatePart vyžaduje minimálne dva argumenty (interval a dátum), ale akceptovať môže až štyri argumenty.

Nasledujúci zoznam obsahuje niektoré funkcie, ktoré sa vo výrazoch bežne používajú. Kliknite na prepojenie pre každú funkciu a získajte ďalšie informácie o syntaxi, ktorú s danou funkciou používate.

  • Funkcia Date sa používa na zadanie aktuálneho systémového dátumu do výrazu. Bežne sa používa s funkciou Format a tiež sa používa s identifikátormi polí určenými pre tie polia, ktoré obsahujú údaje o dátume alebo čase.

    =Date()
  • Funkcia DatePart sa používa na určenie alebo extrahovanie časti dátumu. Dátum zvyčajne pochádza z identifikátora poľa, niekedy však môže pochádzať aj z hodnoty poľa, ktorú vrátila iná funkcia, napríklad Date.

    DatePart ( "yyyy", Date())
  • Funkcia DateDiff slúži na určenie rozdielov medzi dvomi dátumami. Zvyčajne ide o rozdiely medzi dátumom, ktorý pochádza z identifikátora poľa, a dátumom, ktorý vznikol použitím funkcie Date.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Funkcia Format slúži na použitie formátu v identifikátore a vo výsledkoch inej funkcie.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • Funkcia IIf slúži na vyhodnotenie výrazu hodnotami True a False a na následné vrátenie jednej hodnoty, ak má výraz hodnotu True, a inej hodnoty, ak má výraz hodnotu False.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Funkcia InStr slúži na vyhľadávanie umiestnenia znaku alebo reťazca v rámci iného reťazca. Vyhľadávaný reťazec zvyčajne pochádza z identifikátora poľa.

    InStr(1,[IPAddress],".")
  • Funkcie Left, Mid a Right sa používajú na extrahovanie znakov z reťazca počnúc znakom nachádzajúcim sa úplne vľavo (Left), konkrétnym umiestnením v strede (Mid) a končiac znakom úplne vpravo (Right). Bežne sa používajú s funkciou InStr. Reťazec, z ktorého sa pomocou týchto funkcií znaky extrahujú, zvyčajne pochádza z identifikátora poľa.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Zoznam funkcií nájdete v téme Funkcie (podľa kategórie).

Operátory

Operátor je slovo alebo symbol, ktorý označuje konkrétny aritmetický alebo logický vzťah medzi ďalšími prvkami výrazu. Operátory môžu byť:

  • Aritmetické, napríklad znamienko plus (+).

  • Operátory porovnávania, napríklad znamienko rovná sa (=).

  • Logické, napríklad Not.

  • Operátory reťazenia, napríklad &.

  • Špeciálne, napríklad Like.

Operátory sa všeobecne používajú na označenie vzťahu medzi dvoma identifikátormi. Nasledujúce tabuľky popisujú operátory, ktoré môžete vo výrazoch v Accesse použiť.

Aritmetické operátory   

Aritmetické operátory sa používajú na výpočet hodnoty z dvoch alebo viacerých čísel alebo na zmenu znamienka čísla z kladného na záporné.

Operátor

Účel

Príklad

+

Súčet dvoch čísel.

[Medzisúčet]+[Daň z obratu]

-

Zistenie rozdielu medzi dvoma číslami alebo určenie zápornej hodnoty čísla.

[Cena]-[Zľava]

*

Vynásobenie dvoch čísel.

[Množstvo]*[Cena]

/

Vydelenie prvého čísla druhým číslom.

[Celkový súčetl]/[Počet položiek]

\

Zaokrúhlenie oboch čísel na celé čísla, vydelenie prvého čísla druhým číslom a potom skrátenie výsledku na celé číslo.

[Registrované]\[Miestnosti]

Mod

Vydelenie prvého čísla druhým číslom a vrátenie zvyšku.

[Registrované] Mod [Miestnosti]

^

Umocnenie čísla na exponent.

Číslo ^ Exponent

Operátory porovnávania    

Operátory porovnávania sa používajú na porovnanie hodnôt a vrátia výsledok, ktorý má hodnoty True, False alebo Null (neznáma hodnota).

Operátor

Účel

<

Určuje, či je prvá hodnota menšia ako druhá hodnota.

<=

Určuje, či je prvá hodnota menšia alebo rovnaká ako druhá hodnota.

>

Určuje, či je prvá hodnota väčšia ako druhá hodnota.

>=

Určuje, či je prvá hodnota väčšia alebo rovnaká ako druhá hodnota.

=

Určuje, či je prvá hodnota rovnaká ako druhá hodnota.

<>

Určuje, či je prvá hodnota iná ako druhá hodnota.

Vo všetkých prípadoch, ak je prvá hodnota alebo druhá hodnota Null, výsledok je tiež hodnota Null. Keďže hodnota Null predstavuje neznámu hodnotu, výsledok porovnania s hodnotou Null je tiež neznámy.

Logické operátory    

Logické operátory sa používajú na kombinovanie dvoch hodnôt a vracajú výsledok s hodnotou True, False alebo Null. Logické operátory sa tiež nazývajú booleovské operátory.

Operátor

Použitie

Popis

And

Expr1 And Expr2

Vráti hodnotu True, ak Expr1 a Expr2 majú hodnotu True.

Or

Expr1 Or Expr2

Vráti hodnotu True, ak buď Expr1, alebo Expr2 majú hodnotu True.

Eqv

Expr1 Eqv Expr2

Vráti hodnotu True, ak Expr1 aj Expr2 majú hodnotu True alebo Expr1 aj Expr2 majú hodnotu False.

Not

Not Expr

Vráti hodnotu True, ak Expr nemá hodnotu True.

Xor

Expr1 Xor Expr2

Vráti hodnotu True, ak buď Expr1, alebo Expr2 má hodnotu True, nie však oba.

Operátory reťazenia    

Operátory reťazenia sa používajú na kombinovanie dvoch textových hodnôt do jedného reťazca.

Operátor

Použitie

Popis

&

string1 & string2

Spája dva textové reťazce do jedného.

+

string1 + string2

Spája dva textové reťazce do jedného a povyšuje nulové hodnoty.

Špeciálne operátory    

Špeciálne operátory sa používajú tak, ako je to popísané v nasledujúcej tabuľke.

Operátor

Popis

Ďalšie informácie

Is Null or Is Not Null

Určuje, či je hodnota Null alebo Not Null.

Like "pattern"

Určuje zhodu hodnôt v reťazcoch pomocou operátorov zástupných znakov ? a *.

Operátor Like

Between val1 And val2

Určuje, či sa hodnota čísla alebo dátumu nachádza v rozsahu.

Operátor Between...And

In(string1,string2...)

Určuje, či sa hodnota reťazca nachádza v množine hodnôt reťazca.

Operátor In

Konštanty

Konštanta je známa hodnota, ktorá sa nemení, a ktorú môžete vo výraze použiť. V Accesse existujú štyri bežne používané konštanty:

  • True Označuje niečo, čo je logicky pravdivé.

  • False Označuje niečo, čo je logicky nepravdivé.

  • Null Označuje neprítomnosť známej hodnoty.

  • "" (prázdny reťazec) Označuje hodnotu, ktorá je označená ako prázdna.

Konštanty môžete použiť ako argumenty vo funkcii a vo výraze ako súčasť kritéria. Konštantu prázdny reťazec ("") môžete napríklad použiť ako súčasť kritéria stĺpca v dotaze a ohodnotiť pomocou neho hodnoty polí daného stĺpca, a to zadaním <>"" ako kritéria. V tomto príklade je <> operátorom a "" konštantou. Ich súčasné použitie naznačuje, že indikátor, na ktorý sa vzťahujú, by sa mal porovnať s prázdnym reťazcom. Výsledný výraz bude mať hodnotu True vtedy, keď je hodnota identifikátora iná než prázdny reťazec.

Pri používaní konštanty Null buďte opatrní. Vo väčšine prípadov použitie konštanty Null spolu s operátorom porovnania spôsobí chybu. Ak chcete vo výraze porovnať hodnotu s konštantou Null, použite operátor Is Null alebo Is Not Null.

Hodnoty

Vo výrazoch môžete používať literálové hodnoty, ako je napríklad číslo 1 254 alebo reťazec "Zadajte číslo medzi 1 a 10." Takisto môžete používať číselné hodnoty, ktoré môžu byť radom číslic vrátane znamienka a desatinnej čiarky, ak je to potrebné. Ak číselná hodnota neobsahuje znamienko, Access ju považuje za kladné číslo. Záporné číslo musí byť označené znamienkom mínus (-). Pre číslo sa môže použiť aj vedecký zápis. V takomto prípade treba použiť znak „E“ alebo „e“ a znamienko exponenta (napríklad 1,0E-6).

Pri použití textových reťazcov je potrebné umiestniť text do úvodzoviek, aby ho Access správne interpretoval. V niektorých prípadoch doplní úvodzovky Access za vás. Ak napríklad zadáte text do výrazu pre overovacie pravidlo alebo kritérium dotazu, Access automaticky uzavrie text do úvodzoviek.

Pri zadaní textu Paris (Paríž) zobrazí napríklad Access vo výraze text "Paríž". Ak chcete, aby výraz vrátil reťazec, ktorý je uzavretý úvodzovkami, označte požadovaný vnorený reťazec pomocou jednoduchých úvodzoviek (') alebo tromi dvojitými úvodzovkami ("). Napríklad tieto výrazy sú rovnocenné:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Hodnoty dátumu a času musia byť uzavreté medzi znakmi mriežky (#). Platnými hodnotami dátumu sú napríklad #3-7-17#, #7-Mar-17# a #Mar-7-2017#. Ak Access narazí na platnú hodnotu dátumu a času označenú znakmi #, automaticky ju spracuje ako hodnotu typu údajov Date/Time.

Na začiatok stránky

Obmedzenie vnárania výrazov vo webovej databáze je 65 úrovní

Výrazy, ktoré sú vnorené o viac ako 65 úrovní nižšie, nebudú v prehliadači fungovať, preto by ste vo webových databázach Accessu žiadne takéto výrazy nemali používať. Nezobrazia sa žiadne chybové hlásenia – výraz jednoducho nebude fungovať.

Použitím operátorov &, AND a OR sa môžu na serveri vytvoriť dodatočné úrovne vnorenia, ktoré sa v klientovi Accessu neprejavia. Napríklad výraz "a" & "b" & "c" v Zostavovači výrazov nie je vnorený, avšak v SharePointe sa z neho stane výraz concatenate.Db("a", concatenate.Db("b", "c") ). Tento preklad vytvorí jednoúrovňové vnorenie. Použitie za sebou nasledujúcich operátorov &, AND alebo OR v jednom výraze môže viesť k prekročeniu 65-úrovňového limitu vnorenia pre server, pričom výraz v prehliadači nebude fungovať.

Na začiatok stránky

Pozrite tiež

Používanie Zostavovača výrazov

Úvodné informácie o výrazoch

Vytváranie výrazov

Príklady výrazov

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×