Príklady výrazov

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Tento článok uvádza príklady výrazov v Accesse. Výraz kombinuje matematické alebo logické operátory, konštanty, funkcie, polia tabuliek, ovládacie prvky a vlastnosti do jednej hodnoty. Výrazy v Accesse možno použiť na výpočet hodnôt, overovanie údajov a nastavenie predvolených hodnôt.

Obsah tohto článku

Formuláre a zostavy

Všetky výrazy formulárov a zostáv

Operácie s textom; hodnoty v iných ovládacích prvkoch, Operácie s dátumami hlavičky a päty, počítať, sčítať a vypočítať priemerné hodnoty, Podmienky len dvoch hodnôt Aritmetické operácie; Agregačné funkcie SQL

Dotazy a filtre

Všetky výrazy dotazov a filtrov

Operácie s textom; agregačné funkcie SQL, Porovnanie textových hodnôt; Porovnanie vzorov záznamov s operátorom LikeAktualizačné dotazy Aritmetické operácie; vyhľadanie chýbajúcich údajov, Porovnanie kritérií s dátumom. Porovnanie riadkov s agregačnými funkciami SQL. Príkazy SQL operácie s dátumami, vypočítavané polia s poddotazmi, Polia s chýbajúcimi údajmi; Porovnanie polí s poddotazmi

Tabuľky

Všetky výrazy tabuľky

Predvolené hodnoty poľa Overovacie pravidlá poľa

Makrá

Všetky výrazy makra

Formuláre a zostavy

V tabuľkách v tejto časti sú uvedené výrazy, ktoré vypočítavajú hodnotu v ovládacom prvku formulára alebo zostavy. Ak chcete vytvoriť vypočítavaný ovládací prvok, zadajte výraz do ControlSource vlastnosti ovládacieho prvku namiesto do poľa tabuľky alebo 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 spájanie textových reťazcov, vstavané funkcie na prácu s textom alebo iné formy vypočítavaného ovládacieho prvku.

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 (uzavretého v úvodzovkách) a poľa Priezvisko.
=Left([ProductName], 1) Funkcia Left sa používa na zobrazenie prvého znaku hodnoty v poli alebo ovládacom prvku s názvom ProductName.
=Right([AssetCode], 2) Používa funkciu Right na zobrazenie posledných dvoch znakov hodnoty v poli alebo ovládacom prvku s názvom AssetCode.
=Trim([Address]) Funkcia Trim sa používa na zobrazenie hodnoty ovládacieho prvku Address po odstránení úvodných a koncových medzier.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Používa funkciu IIf na zobrazenie hodnôt ovládacích prvkov and CityPostalCode , ak má ovládací prvok Region hodnotu null. V opačnom prípade sa zobrazia hodnoty City, Regiona PostalCode ovládacie prvky oddelené medzerami.
=[City] & (" " + [Region]) & " " & [PostalCode] Operátor a rozšírenie hodnoty null sa používajú + na zobrazenie hodnôt City ovládacích prvkov and PostalCode , ak je hodnota v poli alebo ovládacom prvku Region null. V opačnom prípade sa zobrazia hodnoty City, Region, a polia PostalCode alebo ovládacie prvky oddelené medzerami. Rozšírenie hodnoty null znamená, že ak má ľubovoľná časť výrazu hodnotu null, má hodnotu null celý výraz. Operátor + podporuje rozšírenie hodnoty null, ale & operátor nie.

Späť na začiatok

Hlavičky a päty

Použite Page vlastnosti and Pages na zobrazenie alebo vytlačenie čísel strán formulárov alebo zostáv. Tieto vlastnosti sú k dispozícii iba počas tlače alebo ukážky pred tlačou, preto sa nezobrazujú na hárku vlastností formulára alebo zostavy. Zvyčajne umiestnite textové pole do hlavičky alebo päty formulára alebo zostavy a potom použijete výraz podobný výrazom zobrazeným 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

Späť na začiatok

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 vráti výraz =[RequiredDate] - 2 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

Ak vo výraze používate aritmetický operátor (+, -, *, alebo /) a jeden z ovládacích prvkov má hodnotu null, výsledkom celého výrazu je hodnota null. Toto sa nazýva rozšírenie hodnoty null. Ak ovládací prvok môže mať hodnotu null, rozšíreniu hodnoty null sa môžete vyhnúť tak, že použijete funkciu Nz , ktorá skonvertuje hodnotu null na nulu. Napríklad použite =Nz([Subtotal])+Nz([Freight]).

Späť na začiatok

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.

Späť na začiatok

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 delením hodnoty Sales ovládacieho prvku súčtom všetkých hodnôt v ovládacom prvku Sales . Ak nastavíte vlastnosť Format ovládacieho prvku na Percenthodnotu , nezahrňte *100 ich do výrazu.

Ď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.

Späť na začiatok

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.

Späť na začiatok

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() Používa funkciu Date na zobrazenie aktuálneho dátumu v podobe mm-dd-yy, kde mm je mesiac (1 až 12), dd deň (1 až 31) a yy posledné dve číslice 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 predstavujú 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.

Späť na začiatok

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. Funkcia IIf prejde do troch argumentov: Prvý argument je výraz, ktorý musí vrátiť hodnotu Alebo TrueFalse . 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 je Yeshodnota ovládacieho prvku Potvrdené, v opačnom prípade 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.

Späť na začiatok

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. Operátor môžete Between použiť napríklad na poskytnutie počiatočného a koncového dátumu a obmedziť výsledky dotazu na objednávky, ktoré boli dodané medzi zadanými dátumami.

Nasledujúce časti obsahujú príklady výrazov, ktoré možno použiť v dotazoch.

Textové operácie v dotazoch

Vo výrazoch v nasledovnej tabuľke sa používajú operátory & and + na kombinovanie textových reťazcov, vstavané funkcie na akcie s textovými reťazcami alebo iné činnosti s textom, výsledkom ktorých je vytvorenie vypočítavané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.

Späť na začiatok

Aritmetické operácie v dotazoch

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 , ktoré sa potom FreightPercentagezobrazí percento dopravných poplatkov v každom medzisúčte. V tomto výraze sa funkcia Sum používa na sčítanie hodnôt v Freight poli a potom sa tieto súčty delia súčtom hodnôt v poli.Subtotal Ak chcete použiť tento výraz, skonvertujte výberový dotaz na dotaz na súčty. Je potrebné použiť riadok Súčet v mriežke návrhu a nastaviť bunku Súčet pre toto pole na Expressionmožnosť . Ďalšie informácie o vytváraní dotazov Súčty nájdete v téme Sčítanie údajov pomocou dotazu. Ak nastavíte Format vlastnosť poľa na Percent, nezahrňuj *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.

Späť na začiatok

Operácie s dátumami v dotazoch

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.

Späť na začiatok

Agregačné funkcie SQL v dotazoch

Výrazy v nasledujúcej tabuľke používajú funkcie SQL, ktoré agregujú alebo sumarizujú údaje. Často sa stretávate s Sumfunkciami ako , Count, ktoré Avg sa označujú ako agregačné funkcie.

Okrem agregačných funkcií Access poskytuje aj doménové agregačné funkcie, ktoré umožňujú selektívne sčítať alebo spočítať hodnoty. Môžete napríklad spočítať iba hodnoty v určitom rozsahu alebo vyhľadať hodnotu z inej tabuľky. Doménové agregačné funkcie zahŕňajú DSum, DCount a DAvg.

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

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 FreightPercentage, ktoré potom vypočíta percento dopravných poplatkov v každom medzisúčte vydelením súčtu hodnôt v Freight poli súčtom hodnôt v Subtotal poli. V tomto príklade je funkcia použitá Sum . Tento výraz sa musí používať spolu s dotazom na súčty. Ak nastavíte Format vlastnosť poľa na Percent, nezahrňuj *100. Ďalšie informácie o vytváraní dotazov Súčty nájdete v téme 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.

Späť na začiatok

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.

Späť na začiatok

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.

Späť na začiatok

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" Operátor sa používa na zobrazenie Or objednávok dodaných do Bratislavy alebo do Košíc.
KrajinaOblasťDodania In("Canada", "UK") Operátor sa používa In na zobrazenie objednávok dodaných do Kanady alebo do Veľkej Británie.
KrajinaOblasťDodania Not "USA" Operátor sa používa 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 Not operátor 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 začínajú písmenami N do Z.
KódProduktu Right([ProductCode], 2)="99" Používa funkciu Right na zobrazenie objednávok s hodnotami poľa KódProduktu, ktoré sa končia na 99.
NázovDodávky Like "S*" Slúži na zobrazenie objednávok doručených zákazníkom, ktorých mená sa začínajú písmenom S.

Späť na začiatok

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 Between...And operátor 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# Operátor sa používa Between...Andna zobrazenie objednávok dodaných najskôr 5. januára 2017 a najneskôr 10. januára 2017.
PožadovanýDátum Between Date( ) And DateAdd("M", 3, Date( )) Používa operátor na zobrazenie Between...And objednávok požadovaných v rozsahu od dnešného dátumu do 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.

Späť na začiatok

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.

Späť na začiatok

Porovnanie vzorov záznamov s operátorom Like

Tento Like operátor poskytuje vysokú mieru flexibility v prípade, keď sa pokúšate porovnať zhodu riadkov vytvorených podľa určitého vzoru, pretože je možné použiť Like zástupné znaky a zadefinovať vzory, na základe ktorých sa má Access porovnať. * 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. Výraz Like "S*" napríklad môžete použiť na vyhľadanie všetkých názvov začínajúcich písmenom S. Ďalšie informácie nájdete v článku Operátor Like (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.

Späť na začiatok

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.

Späť na začiatok

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.

Späť na začiatok

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 použite v riadku Update To 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).

Späť na začiatok

Príkazy SQL

jazyk SQL (Structured Query Language) (SQL) je jazyk dotazov, ktorý sa používa 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, vyberte v ponuke Zobraziť položku ZobrazenieSQL. Nasledujúca tabuľka obsahuje vzorové príkazy SQL, ktoré používajú 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.

Späť na začiatok

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. Access potom poskytne túto hodnotu pri vytvorení nového záznamu obsahujúceho dané pole alebo pri vytvorení objektu obsahujúceho tento ovládací prvok. Vo výrazoch v nasledujúcej tabuľke sú uvedené vzorové 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 má 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í

Späť na začiatok

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 ValidationRule vlastnosť poľa alebo ovládacieho prvku. Mali by ste zvážiť aj nastavenie ValidationText vlastnosti obsahujúcej text, ktorý sa v programe Access zobrazí pri narušení overovacieho pravidla. Ak vlastnosť ValidationText nenastavíte, Access zobrazí predvolené chybové hlásenie.

V príkladoch v nasledujúcej tabuľke sú znázornené výrazy overovacích pravidiel pre vlastnosť ValidationRule a priradený text pre danú ValidationText vlastnosť.

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.

Späť na začiatok

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 môžete použiť na definovanie podmienky v bloku If:

[Counter]=10

Rovnako ako vlastnosť ValidationRule , výraz v bloku If je podmienený výraz. Musí sa vyriešiť buď alebo TrueFalse. 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ť.

Späť na začiatok

Pozrite tiež