Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Tento článok obsahuje mnoho príkladov výrazov v Access. Výraz predstavuje kombináciu matematických alebo logických operátorov, konštánt, funkcií a polí tabuliek, ovládacích prvkov a vlastností, ktorá sa vyhodnotí do jednej hodnoty. Výrazy môžete použiť v Access na výpočet hodnôt, overenie údajov a nastavenie predvolenej hodnoty.

Obsah tohto článku

Formuláre a zostavy

V tabuľkách v tejto časti sú uvedené príklady výrazov vypočítavajúcich hodnotu v ovládacom prvku, ktorý sa nachádza vo formulári alebo zostave. Ak chcete vytvoriť vypočítavaný ovládací prvok, zadávate výraz do vlastnosti ovládacieho prvku ZdrojOvládaciehoPrvku a nezadávate ho do poľa tabuľky ani dotazu.

Poznámka    Výrazy môžete vo formulári alebo zostave použiť aj pri zvýraznení údajov pomocou podmieneného formátovania.

Operácie s textom

Vo výrazoch v nasledovnej tabuľke sa používajú operátory & (ampersand) a + (plus) na kombinovanie textových reťazcov, vstavané funkcie na manipuláciu s textovým reťazcom alebo na iné činnosti s textom, výsledkom ktorých je vypočítavaný ovládací prvok.

Výraz

Výsledok

="N/A"

Zobrazí hodnotu N/A.

=[FirstName] & " " & [LastName]

Zobrazí hodnoty, ktoré sa nachádzajú v poliach tabuľky s názvom Meno a Priezvisko. V tomto príklade sa operátor & používa na kombinovanie poľa Meno, znaku medzery (medzi dvomi úvodzovkami) a poľa Priezvisko.

=Left([ProductName], 1)

Používa funkciu Left na zobrazenie prvého znaku hodnoty poľa alebo ovládacieho prvku s názvom NázovProduktu.

=Right([AssetCode], 2)

Používa funkciu Right na zobrazenie posledných 2 znakov hodnoty v poli alebo ovládacom prvku s názvom KódAktíva.

=Trim([Address])

Používa funkciu Trim na zobrazenie hodnoty ovládacieho prvku Adresa (odstránia sa úvodné a koncové medzery).

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

Funkcia IIf sa používa na zobrazenie hodnôt ovládacích prvkov Mesto a PSČ v prípade, ak je hodnota ovládacieho prvku Oblasť null. V opačnom prípade sa zobrazia hodnoty ovládacích prvkov Mesto, Oblasť a PSČ oddelené medzerami.

=[City] & (" " + [Region]) & " " & [PostalCode]

Operátor + a rozšírenie hodnoty null sa používajú na zobrazenie hodnôt ovládacích prvkov Mesto a PSČ, ak je hodnota v poli alebo ovládacom prvku Oblasť null. V opačnom prípade sa zobrazia hodnoty polí alebo ovládacích prvkov Mesto, Oblasť a PSČ oddelené medzerami.

Rozšírenie hodnoty null znamená, že ak má ľubovoľná súčasť výrazu hodnotu null, bude mať hodnotu null aj celý výraz. Operátor + podporuje rozšírenie hodnoty null, operátor & rozšírenie hodnoty null nepodporuje.

Na začiatok stránky

Hlavičky a päty

Vlastnosti Strana a Strán sa používajú na zobrazenie alebo vytlačenie čísel strán formulárov alebo zostáv. Vlastnosti Strana a Strán sú k dispozícii iba počas tlače alebo zobrazenia ukážky, t. j. nezobrazujú sa na hárku vlastností formulára alebo zostavy. Tieto vlastnosti sa spravidla používajú tak, že do hlavičky alebo päty formulára alebo zostavy vložíte textové pole a potom použijete výraz (napríklad výrazy uvedené v nasledujúcej tabuľke).

Ďalšie informácie o používaní hlavičiek a piat vo formulároch a zostavách nájdete v článku Vkladanie čísel strán do formulára alebo zostavy.

Výraz

Výsledok

=[Page]

1

="Page " & [Page]

Strana 1

="Page " & [Page] & " of " & [Pages]

Strana 1 z 3

=[Page] & " of " & [Pages] & " Pages"

1 z 3 strán

=[Page] & "/" & [Pages] & " Pages"

1/3 strán

=[Country/region] & " - " & [Page]

UK - 1

=Format([Page], "000")

001

="Printed on: " & Date()

Vytlačené: 31. 12. 17

Na začiatok stránky

Aritmetické operácie

Výrazy možno používať na sčítanie, odpočítanie, násobenie a delenie hodnôt v dvoch alebo viacerých poliach alebo ovládacích prvkoch. Výrazy možno taktiež používať na uskutočnenie aritmetických operácií s dátumami. Predpokladajme, že máte pole tabuľky Dátum a čas s názvom PožadovanýDátum. V poli alebo ovládacom prvku viazanom na pole výraz =[RequiredDate] - 2 vráti hodnotu dátumu a času rovnajúcu sa dvom dňom pred aktuálnymi hodnotami v poli PožadovanýDátum.

Výraz

Výsledok

=[Subtotal]+[Freight]

Súčet hodnôt polí alebo ovládacích prvkov Medzisúčet a Dopravné.

=[RequiredDate]-[ShippedDate]

Interval medzi dátumovými hodnotami polí alebo ovládacích prvkov PožadovanýDátum a DátumDodania.

=[Price]*1.06

Súčin hodnôt poľa alebo ovládacieho prvku Cena a 1,06 (k hodnote Cena sa pripočíta 6 percent).

=[Quantity]*[Price]

Súčin hodnôt polí alebo ovládacích prvkov Množstvo a Cena.

=[EmployeeTotal]/[CountryRegionTotal]

Podiel hodnôt polí alebo ovládacích prvkov ZamestnanecSpolu a KrajinaOblasťSpolu.

Poznámka    Keď vo výraze používate aritmetický operátor (+, -, * a /) a hodnota jedného z ovládacích prvkov vo výraze je null, výsledok celého výrazu bude tiež null. Tento krok sa označuje ako rozšírenie hodnoty null. Ak niektoré záznamy v ovládacích prvkoch, ktoré používate vo výraze, majú hodnotu null, rozšíreniu hodnoty null sa môžete vyhnúť konverziou hodnôt null na nulu pomocou funkcie Nz, napríklad =Nz([Subtotal])+Nz([Freight]).

Na začiatok stránky

Hodnoty v iných ovládacích prvkoch

Niekedy je potrebné použiť hodnotu, ktorá sa nachádza na inom mieste, napríklad v poli alebo v ovládacom prvku v inom formulári alebo zostave. Ak chcete vrátiť hodnotu z iného poľa alebo ovládacieho prvku, môžete použiť výraz.

Príklady výrazov, ktoré možno použiť vo vypočítavaných ovládacích prvkoch vo formulároch, sú uvedené v nasledujúcej tabuľke.

Výraz

Výsledok

=Forms![Orders]![OrderID]

Hodnota ovládacieho prvku IDobjednávky vo formulári Objednávky.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

Hodnota ovládacieho prvku MedzisúčetObjednávky v podformulári s názvom Podformulár objednávok vo formulári Objednávky.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

Hodnota tretieho stĺpca v zozname IDproduktu – ide o pole so zoznamom s viacerými stĺpcami, ktoré sa nachádza v podformulári s názvom Podformulár objednávok vo formulári Objednávky. (Nezabúdajte, že hodnota 0 odkazuje na prvý stĺpec, hodnota 1 odkazuje na druhý stĺpec atď.)

=Forms![Orders]![Orders Subform]![Price] * 1.06

Súčin hodnoty ovládacieho prvku Cena v podformulári s názvom Podformulár objednávok vo formulári Objednávky a hodnoty 1,06 (k hodnote ovládacieho prvku Cena sa pridá 6 percent).

=Parent![OrderID]

Hodnota ovládacieho prvku IDobjednávky v hlavnom alebo nadradenom formulári aktuálneho podformulára.

Vo výrazoch v nasledujúcej tabuľke sú zobrazené niektoré spôsoby použitia vypočítavaných ovládacích prvkov v zostavách. Výrazy odkazujú na vlastnosť Zostava.

Výraz

Výsledok

=Report![Invoice]![OrderID]

Hodnota ovládacieho prvku s názvom IDobjednávky v zostave s názvom Faktúra.

=Report![Summary]![Summary Subreport]![SalesTotal]

Hodnota ovládacieho prvku PredajSpolu v čiastkovej zostave s názvom Čiastková zostava súhrnu v zostave Súhrn.

=Parent![OrderID]

Hodnota ovládacieho prvku IDobjednávky v hlavnej alebo nadradenej zostave aktuálnej čiastkovej zostavy.

Na začiatok stránky

Počítanie, sčítanie a výpočet priemerných hodnôt

Na výpočet hodnôt pre jedno alebo viacero polí alebo ovládacích prvkov možno použiť funkciu s názvom agregačná funkcia. Môžete napríklad vypočítať súčet skupiny pre pätu skupiny v zostave alebo medzisúčet objednávky pre riadkové položky vo formulári. Taktiež môžete spočítať počet položiek v jednom alebo viacerých poliach, alebo vypočítať priemernú hodnotu.

Vo výrazoch v nasledovnej tabuľke sú uvedené niektoré spôsoby použitia funkcií Avg, Count a Sum.

Výraz

Popis

=Avg([Freight])

Používa funkciu Avg na zobrazenie priemerných hodnôt poľa tabuľky alebo ovládacieho prvku s názvom Dopravné.

=Count([OrderID])

Používa funkciu Count na zobrazenie počtu záznamov v ovládacom prvku IDObjednávky.

=Sum([Sales])

Používa funkciu Sum na zobrazenie súčtu hodnôt ovládacieho prvku Predaj.

=Sum([Quantity]*[Price])

Používa funkciu Sum na zobrazenie súčtu súčinov hodnôt v ovládacích prvkoch Množstvo a Cena.

=[Sales]/Sum([Sales])*100

Zobrazí sa percento predaja určené delením hodnoty ovládacieho prvku Predaj súčtom všetkých hodnôt ovládacieho prvku Predaj.

Ak nastavíte vlastnosť Formát tohto ovládacieho prvku na hodnotu Percento, do výrazu nezahŕňajte hodnotu *100.

Ďalšie informácie o používaní agregačných funkcií a počítaní súčtov hodnôt v poliach a stĺpcoch nájdete v článkoch Sčítanie údajov pomocou dotazu, Spočítanie údajov pomocou dotazu, Spočítanie riadkov v údajovom hárku a Zobrazenie súčtov stĺpcov v údajovom hárku.

Na začiatok stránky

Agregačné funkcie SQL

Typ funkcie, ktorá sa označuje ako SQL alebo doménová agregačná funkcia, sa používa vtedy, keď potrebujete selektívne sčítať alebo spočítať hodnoty. Doména sa skladá z jedného alebo viacerých polí v jednej alebo viacerých tabuľkách, alebo z jedného alebo viacerých ovládacích prvkov v jednom alebo viacerých formulároch alebo zostavách. Môžete napríklad porovnávať hodnoty v poli tabuľky s hodnotami v ovládacom prvku formulára.

Výraz

Popis

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

Funkcia DLookup sa používa na vrátenie hodnoty poľa MenoKontaktnejOsoby v tabuľke Dodávatelia, kde hodnota poľa IDdodávateľa v tabuľke zodpovedá hodnote ovládacieho prvku IDdodávateľa vo formulári Dodávatelia.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

Funkcia DLookup sa používa na vrátenie hodnoty poľa MenoKontaktnejOsoby v tabuľke Dodávatelia, kde hodnota poľa IDdodávateľa v tabuľke zodpovedá hodnote ovládacieho prvku IDdodávateľa vo formulári Noví dodávatelia.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

Funkcia DSum sa používa na vrátenie celkového súčtu hodnôt v poli ObjednanéMnožstvo, kde má pole IDzákazníka hodnotu RATTC.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

Funkcia DCount sa používa na vrátenie počtu hodnôt Áno v poli Vyradené (pole typu Yes/No) v tabuľke s názvom Aktíva.

Na začiatok stránky

Operácie s dátumami

Sledovanie dátumov a časov patrí medzi základné činnosti s databázou. Môžete napríklad vypočítať, koľko dní uplynulo od dátumu fakturácie a sledovať tak stav svojich pohľadávok. Rôzne možnosti formátovania dátumu a času sú uvedené v nasledujúcej tabuľke.

Výraz

Popis

=Date()

Funkcia Date sa používa na zobrazenie aktuálneho dátumu vo formáte mm-dd-yy, kde mm označuje mesiac (1 až 12), dd označuje deň (1 až 31) a yy predstavuje posledné dve číslice označenia roka (1980 až 2099).

=Format(Now(), "ww")

Používa funkciu Format na zobrazenie čísla týždňa v roku pre aktuálny dátum, kde ww predstavuje týždne 1 až 53.

=DatePart("yyyy", [OrderDate])

Používa funkciu DatePart na zobrazenie roka v štvormiestnom formáte z hodnoty ovládacieho prvku DátumObjednávky.

=DateAdd("y", -10, [PromisedDate])

Používa funkciu DateAdd na zobrazenie dátumu, ktorý nastáva 10 dní pred hodnotou ovládacieho prvku DátumPrísľubu.

=DateDiff("d", [OrderDate], [ShippedDate])

Používa funkciu DateDiff na zobrazenie rozdielu v počte dní medzi hodnotami ovládacích prvkov DátumObjednávky a DátumDodania.

=[InvoiceDate] + 30

Aritmetické operácie s dátumami sa používajú na výpočet dátumu pripadajúceho na 30. deň po dátume uvedenom v poli alebo ovládacom prvku DátumFaktúry.

Na začiatok stránky

Podmienky len dvoch hodnôt

Vo vzorových výrazoch v nasledujúcej tabuľke sa používa funkcia IIf na vrátenie jednej z dvoch možných hodnôt. V rámci funkcie IIf sa zadávajú tri argumenty: prvým argumentom je výraz, ktorý musí vrátiť hodnotu Truealebo False. Druhým argumentom je hodnota, ktorá sa vráti v prípade, ak je výraz pravdivý, a tretí argument je hodnota, ktorá sa vráti, ak je výraz nepravdivý.

Výraz

Popis

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

Funkcia IIf (Immediate If) slúži na zobrazenie hlásenia Objednávka potvrdená, ak má ovládací prvok Potvrdené hodnotu Yes. V opačnom prípade sa zobrazí hlásenie "Order Not Confirmed.".

=IIf(IsNull([Country/region]), " ", [Country])

Funkcie IIf a IsNull sa používajú na zobrazenie prázdneho reťazca, ak je hodnota ovládacieho prvku Krajina/oblasť null. V opačnom prípade sa zobrazí hodnota ovládacieho prvku Krajina/oblasť.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

Funkcie IIf a IsNull sa používajú na zobrazenie hodnôt ovládacích prvkov Mesto a PSČ, ak je hodnota ovládacieho prvku Oblasť null. V opačnom prípade sa zobrazia hodnoty polí alebo ovládacích prvkov Mesto, Oblasť a PSČ.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Funkcie IIf a IsNull sa používajú na zobrazenie hlásenia Skontrolujte, či nechýba dátum, ak je výsledok odčítania hodnôt poľa DátumDodania od hodnoty poľa PožadovanýDátum null. V opačnom prípade sa zobrazí interval medzi dátumovými hodnotami ovládacích prvkov PožadovanýDátum a DátumDodania.

Na začiatok stránky

Dotazy a filtre

Táto časť obsahuje príklady výrazov používaných na vytvorenie výpočtového poľa v dotaze alebo na zadanie kritérií do dotazu. Výpočtové pole predstavuje stĺpec v dotaze, ktorý je výsledkom výrazu. Môžete napríklad vypočítať hodnotu, kombinovať textové hodnoty, ako napríklad mená a priezviská, alebo formátovať časť dátumu.

Použite kritériá v dotaze na obmedzenie záznamov, s ktorými pracujete. Pomocou operátora Between môžete napríklad uviesť počiatočný a koncový dátum a obmedziť výsledky dotazu na príkazy, ktoré boli dodané medzi zadanými dátumami.

Ďalej nájdete príkladov výrazov, ktoré môžete použiť v dotazoch.

Operácie s textom

Vo výrazoch v nasledovnej tabuľke sa používajú operátory & a + na spájanie textových reťazcov, vstavané funkcie na akcie s textovými reťazcami alebo iné činnosti s textom, výsledkom ktorých je vytvorenie výpočtového poľa.

Výraz

Popis

FullName: [FirstName] & " " & [LastName]

Slúži na vytvorenie poľa s názvom CeléMeno, v ktorom sa zobrazujú hodnoty v poliach Meno a Priezvisko oddelené medzerou.

Address2: [City] & " " & [Region] & " " & [PostalCode]

Slúži na vytvorenie poľa s názvom Adresa2, v ktorom sa zobrazujú hodnoty v poliach Mesto, Oblasť a PSČ oddelené medzerami.

ProductInitial: Left([ProductName], 1)

Slúži na vytvorenie poľa s názvom ProductInitial a potom použije funkciu Left, ktorá v poli ProductInitial zobrazí prvý znak hodnoty v poli NázovProduktu.

TypeCode: Right([AssetCode], 2)

Slúži na vytvorenie poľa s názvom TypeCode a potom používa funkciu Right na zobrazenie posledných dvoch znakov hodnôt v poli KódAktíva.

AreaCode: Mid([Phone],2,3)

Slúži na vytvorenie poľa s názvom AreaCode a potom používa funkciu Mid na zobrazenie troch znakov počnúc druhým znakom hodnoty v poli Telefón.

ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

Slúži na pomenovanie vypočítavaného poľa ExtendedPrice a používa funkciu CCur na výpočet celkového súčtu položiek s použitím zľavy.

Na začiatok stránky

Aritmetické operácie

Výrazy možno používať na sčítanie, odpočítanie, násobenie a delenie hodnôt v dvoch alebo viacerých poliach alebo ovládacích prvkoch. Môžete tiež vykonávať aritmetické operácie s dátumami. Predpokladajme napríklad, že máte pole Dátum a čas s názvom PožadovanýDátum. Výraz =[RequiredDate] - 2 vráti hodnotu dátumu a času rovnajúcu sa dvom dňom pred hodnotou v poli PožadovanýDátum.

Výraz

Popis

PrimeFreight: [Freight] * 1.1

Slúži na vytvorenie poľa s názvom HlavnéDopravné a potom v poli zobrazí dopravné poplatky zvýšené o 10 percent.

OrderAmount: [Quantity] * [UnitPrice]

Slúži na vytvorenie poľa s názvom SumaObjednávky a zobrazenie súčinu hodnôt v poliach Množstvo a JednotkováCena.

LeadTime: [RequiredDate] - [ShippedDate]

Slúži na vytvorenie poľa s názvom DodaciaLehota a zobrazenie rozdielu hodnôt v poliach PožadovanýDátum a DátumDodania.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

Slúži na vytvorenie poľa s názvom ZásobySpolu a zobrazenie súčtu hodnôt v poliach JednotkyNaSklade a ObjednanéJednotky.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Slúži na vytvorenie poľa s názvom DopravnéPercento a zobrazenie percenta dopravných poplatkov v každom medzisúčte. V tomto výraze sa funkcia Sum používa na sčítanie hodnôt v poli Dopravné a potom sa tieto súčty delia súčtom hodnôt v poli Medzisúčet.

Ak chcete použiť tento výraz, je nutné skonvertovať výberový dotaz na dotaz na súčty, pretože budete potrebovať riadok Súčet v mriežke návrhu a bunku Súčet pre toto pole je nutné nastaviť na hodnotu Výraz.

Ďalšie informácie o vytváraní dotazov na súčty nájdete v článku Sčítanie údajov pomocou dotazu.

Ak nastavíte vlastnosť Formát tohto poľa na hodnotu Percento, nezahŕňajte do výrazu hodnotu *100.

Ďalšie informácie o používaní agregačných funkcií a počítaní súčtov hodnôt v poliach a stĺpcoch nájdete v článkoch Sčítanie údajov pomocou dotazu, Spočítanie údajov pomocou dotazu, Spočítanie riadkov v údajovom hárku a Zobrazenie súčtov stĺpcov v údajovom hárku.

Na začiatok stránky

Operácie s dátumami

Takmer všetky databázy môžu uchovávať a sledovať dátumy a časy. V programe Access pracujete s dátumami a časmi nastavením dátumových a časových polí v tabuľkách na typ údajov Date/Time. V programe Access je možné vykonávať aritmetické výpočty s dátumami (môžete napríklad vypočítať, koľko dní uplynulo od dátumu fakturácie, a sledovať tak stav svojich pohľadávok).

Výraz

Popis

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

Slúži na vytvorenie poľa s názvom LagTime a potom používa funkciu DateDiff na zobrazenie počtu dní medzi dátumom objednávky a dátumom dodania.

YearHired: DatePart("yyyy",[HireDate])

Slúži na vytvorenie poľa s názvom RokNástupu a potom použije funkciu DatePart na zobrazenie roka nástupu každého zamestnanca.

MinusThirty: Date( )- 30

Slúži na vytvorenie poľa s názvom MinusThirty a potom použije funkciu Date na zobrazenie dátumu, ktorý je o 30 dní skorší než aktuálny dátum.

Na začiatok stránky

Agregačné funkcie SQL

Výrazy v nasledujúcej tabuľke používajú funkcie SQL (Structured Query Language) na agregáciu alebo sumarizáciu údajov. Tieto funkcie (napríklad Sum, Count a Avg) sa často označujú ako agregačné funkcie.

Okrem agregačných funkcií Access poskytuje aj „doménové“ agregačné funkcie, ktoré sa používajú na selektívne sčítanie alebo spočítanie hodnôt. Môžete napríklad spočítať iba hodnoty v určitom rozsahu alebo vyhľadať hodnotu z inej tabuľky. Skupina doménových agregačných funkcií obsahuje funkciu DSum, funkciu DCount a funkciu DAvg.

Ak chcete vypočítať celkové hodnoty, je často potrebné vytvoriť dotaz na súčty. Dotaz na súčty potrebujete napríklad vtedy, keď chcete sumarizovať podľa skupiny. Ak chcete zapnúť dotaz na súčty z mriežky návrhu dotazu, kliknite na položku Súčty v ponuke Zobraziť.

Výraz

Popis

RowCount: Count(*)

Slúži na vytvorenie poľa s názvom RowCount a potom používa funkciu Count na spočítanie počtu záznamov v dotaze vrátane záznamov s poľami, ktoré sú null (prázdne).

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Slúži na vytvorenie poľa s názvom DopravnéPercento a na výpočet percenta dopravných poplatkov v každom medzisúčte ako podiel súčtu hodnôt v poli Dopravné a súčtu hodnôt v poli Medzisúčet. (V tomto príklade sa používa funkcia Sum.)

Tento výraz sa musí používať spolu s dotazom na súčty. Ak nastavíte vlastnosť Formát tohto poľa na hodnotu Percento, nezahŕňajte do výrazu hodnotu *100.

Ďalšie informácie o vytváraní dotazov Súčty nájdete v článku Sčítanie údajov pomocou dotazu.

AverageFreight: DAvg("[Freight]", "[Orders]")

Slúži na vytvorenie poľa s názvom PriemernéDopravné a potom pomocou funkcie DAvg vypočíta priemerné dopravné poplatky vo všetkých objednávkach v kombinácii s dotazom na súčty.

Na začiatok stránky

Polia s chýbajúcimi údajmi

Výrazy uvedené na tomto mieste slúžia na prácu s poľami s potenciálne chýbajúcimi informáciami, ako sú napríklad polia obsahujúce hodnoty null (neznáme alebo nedefinované) hodnoty. S hodnotami null sa môžete stretnúť často, ako napríklad v prípade neznámej ceny nového produktu alebo hodnoty, ktorú spolupracovník zabudol pridať do objednávky. Možnosť vyhľadania a spracovania hodnôt null môže byť kľúčovou súčasťou databázových operácií a vo výrazoch v nasledujúcej tabuľke sú uvedené niektoré bežné spôsoby spracovania hodnôt null.

Výraz

Popis

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

Slúži na vytvorenie poľa s názvom AktuálnaKrajinaOblasť a potom použije funkciu IIf a IsNull na zobrazenie prázdneho reťazca v tomto poli v prípade, ak pole KrajinaOblasť obsahuje hodnotu null. V opačnom prípade sa zobrazí obsah poľa KrajinaOblasť.

LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Slúži na vytvorenie poľa s názvom DodaciaLehota a potom použije funkciu IIf a IsNull na zobrazenie hlásenia Skontrolujte, či nechýba dátum, ak je hodnota v poli PožadovanýDátum alebo DátumDodania null. V opačnom prípade sa zobrazí rozdiel dátumov.

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

Slúži na vytvorenie poľa s názvom SixMonthSales a potom zobrazí súčet hodnôt v poliach PredajZa1Štvrťrok a PredajZa2Štvrťrok pomocou funkcie Nz, ktorá slúži na konverziu všetkých hodnôt null na nulu.

Na začiatok stránky

Vypočítavané polia s poddotazmi

Na vytvorenie výpočtového poľa je možné použiť vnorený dotaz, ktorý sa označuje aj ako poddotaz. Výraz v nasledujúcej tabuľke je príkladom výpočtového poľa, ktoré je výsledkom poddotazu.

Výraz

Popis

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

Slúži na vytvorenie poľa s názvom Kat a potom zobrazí položku NázovKategórie, ak je hodnota v poli IDkategórie v tabuľke Kategórie rovnaká ako hodnota v poli IDkategórie v tabuľke Produkty.

Na začiatok stránky

Porovnanie textových hodnôt

Vo vzorových výrazoch v tejto tabuľke sú uvedené kritériá, ktoré porovnávajú zhodu celých textových hodnôt alebo ich častí.

Pole

Výraz

Popis

MestoDodania

"London"

Slúži na zobrazenie objednávok dodaných do Bratislavy.

MestoDodania

"London" Or "Hedge End"

Používa operátor Or na zobrazenie objednávok dodaných do Bratislavy alebo do Košíc.

KrajinaOblasťDodania

In("Canada", "UK")

Používa operátor In na zobrazenie objednávok dodaných do Kanady alebo do Veľkej Británie.

KrajinaOblasťDodania

Not "USA"

Používa operátor Not na zobrazenie objednávok doručených do iných krajín alebo oblastí než do USA.

NázovProduktu

Not Like "C*"

Používa operátor Not a zástupný znak * na zobrazenie produktov, ktorých názvy sa nezačínajú písmenom C.

NázovSpoločnosti

>="N"

Slúži na zobrazenie objednávok doručených spoločnostiam, ktorých názvy sa začínajú písmenom NZ.

KódProduktu

Right([ProductCode], 2)="99"

Používa funkciu Right na zobrazenie objednávok s hodnotami poľa KódProduktu, ktoré sa končia číslom 99.

MenoDodania

Like "S*"

Slúži na zobrazenie objednávok doručených zákazníkom, ktorých mená sa začínajú písmenom S.

Na začiatok stránky

Porovnanie kritérií dátumu

Vo výrazoch v nasledujúcej tabuľke je predvedené používanie dátumov a súvisiacich funkcií vo výrazoch kritérií. Ďalšie informácie o zadávaní a používaní dátumových hodnôt nájdete v článku Formátovanie poľa dátumu a času.

Pole

Výraz

Popis

DátumOdoslania

#2/2/2017#

Slúži na zobrazenie objednávok dodaných 2. februára 2017.

DátumOdoslania

Date()

Slúži na zobrazenie objednávok doručených dnes.

PožadovanýDátum

Between Date( ) And DateAdd("m", 3, Date( ))

Používa operátor Between...And a funkcie DateAdd a Date na zobrazenie objednávok požadovaných v rozsahu od dnešného dátumu do troch mesiacov od dnešného dátumu.

DátumObjednávky

< Date( ) - 30

Používa funkciu Date na zobrazenie objednávok starších ako 30 dní.

DátumObjednávky

Year([OrderDate])=2017

Používa funkciu Year na zobrazenie objednávok s dátumami objednávky spadajúcimi do roka 2017.

DátumObjednávky

DatePart("q", [OrderDate])=4

Používa funkciu DatePart na zobrazenie objednávok za štvrtý kalendárny štvrťrok.

DátumObjednávky

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

Používa funkcie DateSerial, Year a Month na zobrazenie objednávok za posledný deň každého mesiaca.

DátumObjednávky

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

Používa funkcie Year a Month a operátor And na zobrazenie objednávok za aktuálny rok a mesiac.

DátumOdoslania

Between #1/5/2017# And #1/10/2017#

Používa operátor Between...And na zobrazenie objednávok dodaných v období medzi 5. januárom 2017 a 10. januárom 2017.

PožadovanýDátum

Between Date( ) And DateAdd("M", 3, Date( ))

Používa operátor Between...And na zobrazenie objednávok požadovaných medzi dnešným dátumom a obdobím troch mesiacov od dnešného dátumu.

DátumNarodenia

Month([BirthDate])=Month(Date())

Používa funkcie Month a Date na zobrazenie zamestnancov, ktorí majú tento mesiac narodeniny.

Na začiatok stránky

Vyhľadanie chýbajúcich údajov

Výrazy v nasledujúcej tabuľke pracujú s poľami s potenciálne chýbajúcimi informáciami, ako sú polia obsahujúce hodnotu null alebo reťazec s nulovou dĺžkou. Hodnota null označuje neprítomnosť informácií a nepredstavuje nulu a ani žiadnu inú hodnotu. V programe Access existuje podpora pre koncepciu chýbajúcich informácií, pretože táto koncepcia je pre integritu databázy kľúčová. V bežnom živote sa často stáva, že informácie nie sú k dispozícii, aj keď niekedy iba dočasne (napríklad v prípade ceny nového produktu, ktorá ešte nie je stanovená). V databáze, do ktorej sa premieta jednotka z reálneho sveta (ako napríklad obchodná organizácia), preto musí byť k dispozícii možnosť zaznamenať informáciu ako chýbajúcu. Pomocou funkcie IsNull môžete určiť, či pole alebo ovládací prvok obsahuje hodnotu null, a funkciu Nz môžete použiť na konverziu hodnoty null na nulu.

Pole

Výraz

Popis

RegiónDodania

Is Null

Slúži na zobrazenie objednávok zákazníkov, ktorí majú v poli OblasťDodávky hodnotu null (chýbajúcu hodnotu).

RegiónDodania

Is Not Null

Slúži na zobrazenie objednávok zákazníkov, ktorí majú v poli OblasťDodávky a určitú hodnotu.

Fax

""

Slúži na zobrazenie objednávok zákazníkov, ktorí nemajú fax. Títo zákazníci majú v poli Fax namiesto hodnoty null zadanú hodnotu reťazca s nulovou dĺžkou.

Na začiatok stránky

Porovnanie vzorov záznamov s operátorom Like

Operátor Like vám poskytuje vysokú mieru flexibility v prípade, keď sa pokúšate porovnať zhodu riadkov vytvorených podľa určitého vzoru, pretože operátor Like je možné použiť so zástupnými znakmi a zadefinovať vzory, na základe ktorých sa v programe Access má vykonať porovnanie. Zástupný znak * (hviezdička) napríklad zodpovedá sekvencii znakov ľubovoľného typu a zjednodušuje vyhľadávanie všetkých názvov začínajúcich písmenom. Napríklad môžete použiť výraz Like "S*" na vyhľadanie všetkých názvov začínajúcich sa písmenom S. Ďalšie informácie nájdete v článku operátor Like.

Pole

Výraz

Popis

MenoDodania

Like "S*"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré sa začínajú písmenom S.

NázovDodávky

Like "*Imports"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré sa končia slovom „Importy“.

MenoDodania

Like "[A-D]*"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré sa začínajú písmenami A, B, C alebo D.

MenoDodania

Like "*ar*"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré obsahujú postupnosť písmen „ar“.

NázovDodávky

Like "Maison Dewe?"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré v prvej časti hodnoty obsahujú výraz „Maison“ a reťazec s piatimi písmenami, v ktorom sú prvé štyri písmená „Dewe“ a posledné písmeno je neznáme.

NázovDodávky

Not Like "A*"

Slúži na vyhľadanie všetkých záznamov v poli NázovDodávky, ktoré sa nezačínajú písmenom A.

Na začiatok stránky

Porovnanie riadkov s agregačnými funkciami SQL

SQL alebo doménová agregačná funkcia sa používa vtedy, keď potrebujete selektívne sčítať, spočítať alebo vypočítať priemerné hodnoty. Je možné, že budete chcieť spočítať iba tie hodnoty, ktoré patria do určitého rozsahu alebo sa vyhodnotia ako Áno. Inokedy zas môžete chcieť vyhľadať hodnotu z inej tabuľky a zobraziť ju. Vzorové výrazy v nasledujúcej tabuľke používajú doménové agregačné funkcie na výpočet množiny hodnôt a výsledky používajú ako kritériá dotazu.

Pole

Výraz

Popis

Dopravné

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Funkcie DStDev a DAvg sa používajú na zobrazenie všetkých objednávok, pri ktorých dopravné náklady presiahli priemer plus štandardnú odchýlku dopravných nákladov.

Množstvo

> DAvg("[Quantity]", "[Order Details]")

Funkcia DAvg sa používa na zobrazenie produktov objednaných v množstve, ktoré je väčšie než priemerné objednávané množstvo.

Na začiatok stránky

Porovnanie polí s poddotazmi

Poddotaz, ktorý sa označuje aj ako vnorený dotaz, sa používa na výpočet hodnôt používaných ako kritérium. Vo vzorových výrazoch v nasledujúcej tabuľke sa porovnáva zhoda riadkov na základe výsledkov vrátených poddotazom.

Pole

Výraz

Zobrazí sa

JednotkováCena

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Produkty, ktorých cena je rovnaká ako cena anízového sirupu.

JednotkováCena

>(SELECT AVG([UnitPrice]) FROM [Products])

Produkty, ktorých jednotková cena presahuje priemer.

Mzda

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

Mzda každého obchodného zástupcu, ktorá je vyššia než mzda zamestnancov v pozícii „Manažér“ alebo „Viceprezident“.

CelkováČiastkaObjednávky: [JednotkováCena] * [Množstvo]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

Objednávky s celkovými čiastkami, ktoré sú vyššie než priemerná hodnota objednávky.

Na začiatok stránky

Aktualizačné dotazy

Aktualizačný dotaz sa používa na úpravu údajov v jednom alebo viacerých poliach existujúcich v databáze. Môžete napríklad nahradiť hodnoty alebo ich úplne odstrániť. V tejto tabuľke sú uvedené niektoré spôsoby použitia výrazov v aktualizačných dotazoch. Tieto výrazy sa používajú v riadku Aktualizovať na v mriežke návrhu dotazu pre pole, ktoré chcete aktualizovať.

Ďalšie informácie o vytváraní aktualizačných dotazov nájdete v článku Vytvorenie a spustenie aktualizačného dotazu.

Pole

Výraz

Výsledok

Nadpis

"Salesperson"

Zmení textovú hodnotu na hodnotu Predajca.

ZačiatokProjektu

#8/10/17#

Zmení hodnotu dátumu na 10. august 2017.

Vyradené

Yes

Zmení hodnotu Nie v poli typu Yes/No na hodnotu Áno.

ČísloSúčasti

"PN" & [PartNumber]

Pridá reťazec „PN“ na začiatok každého konkrétneho čísla súčasti.

SúčetPoložiekRiadka

[UnitPrice] * [Quantity]

Vypočíta súčin hodnôt JednotkováCena a Množstvo.

Dopravné

[Freight] * 1.5

Zvýši dopravné poplatky o 50 percent.

Predaj

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

Ak sa hodnoty poľa IDproduktu v aktuálnej tabuľke zhodujú s hodnotami poľa IDproduktu v tabuľke Podrobnosti objednávky, súčty predaja sa aktualizujú podľa súčinu hodnôt v poliach Množstvo a JednotkováCena.

PSČDodania

Right([ShipPostalCode], 5)

Skráti reťazec odstránením znakov v ľavej časti a ponechá len posledných päť znakov.

JednotkováCena

Nz([UnitPrice])

Zmení hodnotu null (nedefinovanú alebo neznámu hodnotu) v poli JednotkováCena na číslo nula (0).

Na začiatok stránky

Príkazy SQL

Jazyk SQL (Structured Query Language) je jazyk dotazov, ktoré sa používajú v programe Access. Každý dotaz vytvorený v návrhovom zobrazení dotazu možno vyjadriť aj pomocou jazyka SQL. Ak chcete zobraziť príkaz SQL pre ľubovoľný dotaz, kliknite na položku Zobrazenie SQL v ponuke Zobraziť. Nasledujúca tabuľka uvádza vzorové príkazy SQL, ktoré obsahujú výraz.

Príkaz SQL používajúci výraz

Výsledok

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

Zobrazí hodnoty v poliach Meno a Priezvisko zamestnancov s priezviskom Porubiak.

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

Zobrazí hodnoty v poliach IDproduktu a NázovProduktu v tabuľke Produkty pre záznamy, v ktorých sa hodnota poľa IDkategórie zhoduje s hodnotou poľa IDkategórie zadanou v otvorenom formulári Nové produkty.

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

Vypočíta priemernú navýšenú cenu objednávok, ktorých hodnota v poli NavýšenáCena presahuje hodnotu 1 000, a zobrazí ju v poli s názvom Priemerná navýšená cena.

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

V poli s názvom PočetIdentifikáciíProduktu sa zobrazí celkový počet produktov v kategóriách s viac než 10 produktmi.

Na začiatok stránky

Výrazy tabuľky

Medzi dva najbežnejšie spôsoby použitia výrazov v tabuľkách patrí priradenie predvolenej hodnoty a vytvorenie overovacieho pravidla.

Predvolené hodnoty poľa

Keď vytvárate návrh databázy, je možné, že budete chcieť priradiť poľu alebo ovládaciemu prvku predvolenú hodnotu. Ak sa potom v programe Access vytvorí nový záznam obsahujúci toto pole alebo objekt obsahujúci tento ovládací prvok, priradí sa k nemu táto predvolená hodnota. Výrazy v nasledujúcej tabuľke predstavujú predvolené hodnoty poľa alebo ovládacieho prvku. Ak je ovládací prvok viazaný na pole v tabuľke a pole obsahuje predvolenú hodnotu, predvolená hodnota ovládacieho prvku bude mať prednosť.

Pole

Výraz

Predvolená hodnota poľa

Quantity

1

1

Oblasť

"MT"

MT

Oblasť

"New York, N.Y."

Nitra (Nezabúdajte, že ak hodnota obsahuje interpunkčné znamienka, musíte ju uzavrieť do úvodzoviek.)

Fax

""

Reťazec s nulovou dĺžkou poukazuje na to, že na základe predvoleného nastavenia by toto pole malo byť prázdne a nemalo by obsahovať hodnotu null.

Dátum objednávky

Date( )

Dnešný dátum

TermínDokončenia

Date() + 60

Dnešný dátum plus 60 dní

Na začiatok stránky

Overovacie pravidlá poľa

Pomocou výrazu je možné vytvoriť overovacie pravidlo pre pole alebo ovládací prvok. Toto pravidlo sa potom v programe Access uplatňuje pri zadávaní údajov do poľa alebo ovládacieho prvku. Ak chcete vytvoriť overovacie pravidlo, upravte vlastnosť OverovaciePravidlo poľa alebo ovládacieho prvku. Mali by ste zvážiť aj nastavenie vlastnosti OverovacíText obsahujúcej text, ktorý sa v programe Access zobrazí pri narušení overovacieho pravidla. Ak nenastavíte vlastnosť OverovacíText, v programe Access sa zobrazí predvolené chybové hlásenie.

Výrazy overovacieho pravidla pre vlastnosť OverovaciePravidlo a súvisiaci text pre vlastnosť OverovacíText sú uvedené v príkladoch v nasledujúcej tabuľke.

Vlastnosť OverovaciePravidlo

Vlastnosť OverovacíText

<> 0

Zadajte hodnotu inú ako nula.

0 Or > 100

Hodnota musí byť 0 alebo väčšia ako 100.

Like "K???"

Hodnota musí mať štyri znaky a musí sa začínať písmenom K.

< #1/1/2017#

Zadajte dátum skorší ako 1. január 2017.

>= #1/1/2017# And < #1/1/2008#

Dátum musí byť v roku 2017.

Ďalšie informácie o overovaní údajov nájdete v článku Vytvorenie overovacieho pravidla na overenie údajov v poli.

Na začiatok stránky

Výrazy makra

V niektorých prípadoch môžete chcieť vykonávať akciu alebo sériu akcií v makre iba vtedy, keď sa splní konkrétna podmienka. Predpokladajme napríklad, že chcete, aby sa akcia použila iba v prípade, že má textové pole Počítadlo hodnotu 10. Výraz sa používa na definovanie podmienky v bloku If:

[Counter]=10

Rovnako ako pri vlastnosti OverovaciePraviť , aj výraz v bloku If je podmienený výraz. Jeho výsledkom musí byť hodnota True alebo False. Akcia sa vykoná iba v prípade, ak je podmienka splnená.

Výraz na vykonanie akcie

If

[City]="Paris"

Prešov predstavuje hodnotu poľa Mesto vo formulári, z ktorého je spustené makro.

DCount("[OrderID]", "Orders") > 35

Pole IDobjednávky v tabuľke Objednávky obsahuje viac ako 35 položiek.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

V tabuľke Podrobnosti objednávky sa nachádzajú najmenej tri položky, ktorých hodnota poľa IDobjednávky v tabuľke zodpovedá hodnote poľa IDobjednávky vo formulári Objednávky.

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

Hodnota poľa DátumDodania vo formulári, z ktorého sa makro spúšťa, nie je skoršia než 2. február 2017 ani neskoršia než 2. marec 2017.

Forms![Products]![UnitsInStock] < 5

Hodnota poľa JednotkyNaSklade vo formulári Produkty je menšia než 5.

IsNull([FirstName])

Hodnota v poli Meno vo formulári, z ktorého sa spúšťa makro, je null (nemá žiadnu hodnotu). Tento výraz je rovnocenný s výrazom [Meno] Is Null.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

Hodnota poľa KrajinaOblasť vo formulári, z ktorého sa spúšťa makro, je UK a hodnota v poli ObjednávkySpolu vo formulári PredajSpolu je väčšia ako 100.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

Hodnota poľa KrajinaOblasť vo formulári, z ktorého sa spúšťa makro, je Francúzsko, Taliansko alebo Španielsko a dĺžka hodnoty PSČ nie je 5 znakov.

MsgBox("Confirm changes?",1)=1

Kliknite na položku OK v dialógovom okne, ktoré zobrazí funkcia MsgBox. Ak v tomto dialógovom okne kliknete na položku Zrušiť, program Access bude akciu ignorovať.

Na začiatok stránky

Pozrite tiež

Používanie Zostavovača výrazov

Úvodné informácie o výrazoch

Zostavenie výrazu

Sprievodca syntaxou výrazov

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.