Výrazy sa v Microsoft Accesse používajú na širokú škálu úloh, napríklad na vykonávanie matematických výpočtov, spájanie alebo rozdeľovanie textu, či overovanie údajov. Tento článok poskytuje prehľad informácií o výrazoch – kedy sa používajú, aké sú ich súčasti a aká je ich podobnosť so vzorcami Microsoft Excelu.
Obsah tohto článku
Prehľad výrazov
Pozrite sa na to takto: ak chcete v Accesse vykonávať akcie, musíte používať jeho jazyk. Povedzme, že chcete Accessu zadať príkaz: Vyhľadať pole DátumNarodenia v tabuľke Zákazníci a oznámiť rok narodenia zákazníka. Tento výraz môžete zadať v tejto podobe:
DatePart("yyyy",[Customers]![BirthDate])
Tento výraz pozostáva z funkcie DatePart a dvoch hodnôt argumentu: "yyyy" a [Customers]![BirthDate].
Pozrime sa na tento výraz podrobnejšie.
1 DatePart je funkcia, ktorá preskúma dátum a vráti jeho určitú časť. V tomto prípade sa používajú prvé dva argumenty.
2 Argument intervalu informuje Access o tom, ktorá časť dátumu sa má vrátiť – v tomto prípade argument "yyyy" oznámi Accessu, že sa má vrátiť časť dátumu týkajúca sa len roku.
3 Argument dátumu informuje Access o tom, kde má hľadať hodnotu dátumu – v tomto prípade argument [Customers]![BirthDate] oznámi Accessu, že sa má vyhľadávanie uskutočniť v poli DátumNarodenia tabuľky Zákazníci.
Spôsoby používania výrazov
Výrazy môžete používať nasledujúcimi spôsobmi:
-
Výpočet hodnôt, ktoré neexistujú priamo medzi údajmi. Hodnoty možno počítať v poliach tabuliek a dotazoch, ako aj v ovládacích prvkoch formulárov a zostáv.
-
Zadefinovanie predvolenej hodnoty pre pole tabuľky alebo pre ovládací prvok formulára alebo zostavy. Tieto predvolené hodnoty sa zobrazia pri každom otvorení tabuľky, formulára alebo zostavy.
-
Vytvorenie overovacieho pravidla, ktoré slúži na riadenie tých hodnôt, ktoré používateľ môže zadávať do poľa alebo ovládacieho prvku.
-
Zadefinovanie kritérií dotazu, pomocou ktorých obmedzíte výsledky len na požadovanú podmnožinu.
Výpočet hodnôt
Jedným z najbežnejších spôsobov použitia výrazov v Accesse je výpočet hodnôt, ktoré neexistujú priamo v údajoch. Stĺpec v tabuľke alebo dotaze, ktorý je výsledkom takéhoto výpočtu, sa nazýva vypočítavané pole. Môžete vytvoriť vypočítavané pole, ktoré kombinuje dve alebo viacero polí tabuľky. V mnohých tabuľkách sa napríklad krstné meno a priezvisko ukladá do samostatných polí. Ak chcete tieto krstné mená a priezviská skombinovať a zobraziť ich v jednom poli, môžete v tabuľke alebo dotaze vytvoriť vypočítavané pole:
[FirstName] & " " & [LastName].
V tomto prípade znaky ampersand (&) kombinujú hodnotu v poli FirstName, medzeru (medzera uzatvorená v úvodzovkách) a hodnotu v poli LastName.
Zadefinovanie predvolenej hodnoty
Výrazy sa v Accesse môžu použiť aj na poskytnutie predvolenej hodnoty pre pole v tabuľke alebo pre ovládací prvok. Ak napríklad chcete nastaviť predvolenú hodnotu pre dátumové pole na aktuálny dátum, do poľa vlastnosti Predvolená hodnota pre toto pole zadajte hodnotu:
Date()
Vytvorenie overovacieho pravidla
Výrazy môžete použiť aj na nastavenie overovacieho pravidla. Môžete napríklad použiť overovacie pravidlo v poli ovládacieho prvku alebo tabuľky, ktoré má vyžadovať, aby bol zadaný dátum väčší alebo rovný hodnote aktuálneho dátumu. V takomto prípade nastavte v poli vlastnosti Overovacie pravidlo hodnotu:
>= Date()
Zadefinovanie kritérií dotazu
Výrazy je napokon možné použiť aj na nastavenie kritérií pre dotaz. Predpokladajme napríklad, že chcete zobraziť predaj produktov pre objednávky, ktoré boli doručené v určitom časovom intervale. V takomto prípade môžete zadať kritérium pre tento časový interval a Access vráti iba riadky vyhovujúce tomuto kritériu. Výraz by mohol vyzerať napríklad takto:
Between #1/1/2017# And #12/31/2017#
Ak do dotazu pridáte kritériá a potom dotaz spustíte, vráti iba hodnoty, ktoré vyhovujú zadaným dátumom.
Príklady výrazov
Táto tabuľka obsahuje niekoľko ukážok accessových výrazov a spôsoby ich typického použitia:
Výraz |
Účel |
---|---|
=[RequiredDate]-[ShippedDate] |
Vypočíta rozdiel medzi hodnotami dátumu v dvoch ovládacích prvkoch textového poľa (PožadovanýDátum a DátumDodania) v zostave. |
Date() |
Nastaví predvolenú hodnotu pre pole tabuľky s typom údajov Date/Time na aktuálny dátum. |
Between #1/1/2017# And #12/31/2017# |
Určuje kritériá pre pole typu Date/Time v dotaze. |
=[Orders Subform].Form!OrderSubtotal |
Vráti hodnotu ovládacieho prvku MedzisúčetObjednávky v podformulári Objednávky, ktorý patrí do formulára Objednávky. |
>0 |
Nastaví overovacie pravidlo pre číselné pole v tabuľke – používatelia musia zadať hodnoty väčšie ako nula. |
Niektoré výrazy sa začínajú operátorom rovnosti (=) a niektoré nie. Ak sa počíta hodnota ovládacieho prvku vo formulári alebo zostave, používa sa na začiatku výrazu operátor =. V iných prípadoch, napríklad ak zadávate výraz v dotaze alebo vo vlastnostiach PredvolenáHodnota alebo OverovaciePravidlo poľa alebo ovládacieho prvku, sa nepoužíva = operátor, pokiaľ nepridávate výraz do textového poľa v tabuľke. V niektorých prípadoch, ako je napríklad pridávanie výrazov do dotazu, odstráni Access operátor = automaticky.
Súčasti výrazov
Výraz sa skladá z určitého počtu súčastí, ktoré môžete použiť samostatne alebo v kombinácii a získať tak požadovaný výsledok. Medzi tieto súčasti patria:
-
Identifikátory Sú to názvy polí tabuliek, ovládacích prvkov formulárov a zostáv alebo vlastnosti týchto polí alebo ovládacích prvkov.
-
Operátory Napríklad + (plus) alebo - (mínus).
-
Funkcie Napríklad SUM alebo AVG.
-
Konštanty Sú to nemenné hodnoty, ako sú napríklad textové reťazce alebo čísla, ktoré nie sú vypočítané výrazom.
-
Hodnoty Reťazce, ako napríklad „Zadajte číslo od 1 do 10.“ Alebo čísla, napríklad 1 254, ktoré sa používajú v operáciách.
Nasledujúce časti obsahujú podrobnejší popis týchto súčastí.
Identifikátory
Identifikátor je názov poľa, vlastnosti alebo ovládacieho prvku. Vo výraze sa používa ako odkaz na hodnotu priradenú k poľu, vlastnosti alebo ovládaciemu prvku. Ako príklad použijeme výraz =[RequiredDate]-[ShippedDate]. Tento výraz odčíta hodnotu poľa alebo ovládacieho prvku ShippedDate od hodnoty poľa alebo ovládacieho prvku RequiredDate. V tomto výraze fungujú hodnoty RequiredDate a ShippedDateako identifikátory.
Operátory
Access podporuje rôzne operátory vrátane bežných aritmetických operátorov, ako sú napríklad +, -, * (násobenie) a /(delenie). Taktiež možno používať porovnávacie operátory, napríklad < (menšie než) alebo > (väčšie než) na porovnávanie hodnôt, textové operátory, napríklad & a + na spájanie textu, logické operátory, napríklad Not a And na určovanie pravdivých alebo nepravdivých hodnôt, ako aj ďalšie operátory špecifické pre Access.
Funkcie
Funkcie predstavujú vstavané procedúry, ktoré sa môžu použiť vo výrazoch. Umožňujú rôzne operácie, ako je napríklad počítanie hodnôt, narábanie s textom a dátumami alebo zhrnutie údajov. Bežne používanou je napríklad funkcia DATE, ktorá vráti aktuálny dátum. Funkciu DATE môžete použiť rôznymi spôsobmi, napríklad vo výraze, ktorý nastavuje predvolenú hodnotu pre pole tabuľky. V tomto príklade sa pri každom pridaní nového záznamu predvolene vloží do poľa hodnota aktuálneho dátumu.
Niektoré funkcie vyžadujú argumenty. Argument je hodnota, ktorá predstavuje vstupné údaje pre funkciu. Ak funkcia vyžaduje viac argumentov, jednotlivé argumenty sa oddeľujú čiarkou. Ako príklad použijeme funkciu DATE v tomto výraze:
=Format(Date(),"mmmm d, yyyy")
V tomto príklade sa používajú dva argumenty:
-
Prvým argumentom je funkcia Date(), ktorá vráti aktuálny dátum. Ak sa nepoužívajú žiadne argumenty, zátvorky funkcie je potrebné pridať aj tak.
-
Druhý argument "mmmm d, yyyy", ktorý je od prvého argumentu oddelený čiarkou, určuje textový reťazec, pomocou ktorého dávate funkcii FORMAT pokyn, ako má naformátovať vrátenú dátumovú hodnotu. Nezabudnite, že textový reťazec musí byť ohraničený úvodzovkami.
Tento výraz tiež znázorňuje, že hodnotu vrátenú jednou funkciou môžete často vnoriť aj do druhej funkcie ako jej argument. V takom prípade sa funkcia Date() správa ako argument.
Konštanty
Konštanta je položka, ktorej hodnota sa počas používania Accessu nemení. Konštanty True, False a Null sa často používajú vo výrazoch.
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." Použiť môžete aj numerické hodnoty, ktoré môžu tvoriť rad číslic vrátane podľa potreby znamienka a desatinnej čiarky.
Pri použití hodnôt 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.
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.
Porovnanie accessových výrazov a excelových vzorcov
Accessové výrazy sa podobajú na excelové vzorce v tom, že oba na vytvorenie výsledku používajú podobné prvky. Excelové vzorce aj accessové výrazy obsahujú minimálne jednu z týchto súčastí:
-
Identifikátory V Exceli sú identifikátormi názvy jednotlivých buniek alebo rozsahov buniek v zošite, napríklad A1, B3:C6 alebo Sheet2!C32. V Accesse sú identifikátormi názvy polí tabuľky (napríklad [Contacts]![First Name]), ovládacie prvky vo formulároch alebo zostavách (napríklad Forms![Task List]![Description]) alebo vlastnosti týchto polí alebo ovládacích prvkov (napríklad Forms![Task List]![Description].ColumnWidth).
-
Operátory Operátory sa v Accesse aj Exceli používajú na porovnávanie hodnôt alebo na vykonávanie jednoduchých výpočtov s údajmi. Príkladom operátorov sú znamienka + (plus) alebo - (mínus).
-
Funkcie Funkcie a argumenty sa v Accesse aj Exceli používajú na vykonávanie úloh, ktoré nie je možné vykonať pomocou samotných operátorov – môžete napríklad zistiť priemer hodnôt v poli alebo skonvertovať výsledok výpočtu na formát meny. Príkladmi funkcií sú SUM a STDEV. Argumenty sú hodnoty, ktoré poskytujú funkciám informácie. Pamätajte, že Access aj Excel obsahujú množstvo funkcií, ale názvy podobných funkcií sú v týchto programoch niekedy odlišné. Napríklad funkcia AVERAGE v Exceli zodpovedá funkcii AVG v Accesse.
-
Konštanty Konštanty sú v Accesse aj Exceli hodnoty, ktoré sa nemenia – napríklad čísla, ktoré nie sú vypočítané pomocou výrazu.
-
Hodnoty Hodnoty sa v Accesse aj Exceli používajú podobným spôsobom.
Accessové výrazy využívajú operátory a konštanty podobné operátorom a konštantám v Exceli, ale accessové výrazy používajú iné identifikátory a funkcie. Zatiaľ čo excelové vzorce sa spravidla používajú len v bunkách hárkov, accessové výrazy sa používajú v Accesse na mnohých miestach a na širokú škálu úloh vrátane týchto:
-
vytváranie vypočítaných ovládacích prvkov vo formulároch a zostavách,
-
vytváranie vypočítavaných polí v tabuľkách a dotazoch,
-
fungovanie ako kritériá v dotazoch,
-
overovanie údajov zadávaných do poľa alebo do ovládacieho prvku na formulári,
-
zoskupovanie údajov v zostavách.
Accessové výrazy aj excelové vzorce sa môžu používať na výpočet číselných hodnôt alebo hodnôt dátumu a času pomocou matematických operátorov. Na výpočet zľavnenej ceny pre zákazníka môžete napríklad použiť excelový vzorec =C2*(1-D2) alebo accessový výraz = [Unit Price]*(1-[Discount]).
Accessové výrazy aj excelové vzorce sa môžu používať aj na spájanie, rozdeľovanie alebo iné činnosti s reťazcami pomocou operátorov pre reťazce. Na spojenie mena a priezviska do jedného reťazca možno napríklad použiť excelový vzorec =D3 & " " & D4 alebo accessový výraz = [First Name] & " " & [Last Name].