Funkcie DMin, DMax

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

Pomocou funkcií DMin a DMax môžete určiť minimálne a maximálne hodnoty v zadanej množine záznamov (doméne). Funkcie DMin a DMax sa dajú použiť v týchto objektoch: modul jazyka Visual Basic for Applications (VBA), makro, výraz dotazu alebo vypočítavaný ovládací prvok.

Funkcie DMin a DMax môžete napríklad použiť vo vypočítaných ovládacích prvkoch v zostave a zobraziť najnižšie a najvyššie objednávky pre konkrétneho zákazníka. Funkciu DMin môžete tiež použiť vo výraze dotazu na zobrazenie všetkých objednávok so zľavou, ktorá je väčšia ako minimálna možná zľava.

Syntax

DMin(výraz; doména [; kritériá] )

DMax(výraz; doména [; kritériá] )

Funkcie DMin a DMax majú tieto argumenty:

Argument Popis
výraz Povinný argument. Výraz určujúci pole, pre ktoré chcete nájsť minimálnu a maximálnu hodnotu. Môže to byť reťazcový výraz, ktorý určí pole v tabuľke alebo v dotaze, alebo to môže byť výraz, ktorý vykoná výpočet s údajmi v poli. Vo výraze môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak výraz zahŕňa funkciu, môže to byť vstavaná funkcia alebo funkcia definovaná používateľom, ale nie agregačná funkcia inej domény alebo agregačná funkcia SQL.
doména Povinný argument. Výraz reťazca určujúci množinu záznamov, ktoré vytvárajú doménu. Môže to byť názov tabuľky alebo názov pre dotaz, ktorý nevyžaduje parameter.
kritériá Voliteľný argument. Výraz reťazca slúžiaci na obmedzenie rozsahu údajov, ktoré spracuje funkcia DMin alebo DMax . Kritériá napríklad často obsahujú klauzulu WHERE vo výraze SQL, ale bez slova WHERE. Ak sa vynechá argument kritériá , funkcie DMin a DMax vyhodnotia výraz voči celej doméne. Každé pole zahrnuté do kritérií musí byť aj poľom v doméne, v opačnom prípade funkcie DMin a DMax vrátia hodnotu Null.

Poznámky:

Funkcie DMin a DMax vrátia minimálne a maximálne hodnoty, ktoré vyhovujú kritériám. Ak výraz identifikuje číselné údaje, funkcie DMin a DMax vrátia číselné hodnoty. Ak výraz identifikuje reťazcové údaje, funkcie vrátia reťazec, ktorý je prvý alebo posledný v abecednom poradí.

Funkcie DMin a DMax ignorujú hodnoty Null v poli, na ktoré odkazuje výraz. Ak však kritériám nevyhovuje žiadny záznam alebo ak doména neobsahuje žiadne záznamy, funkcie DMin a DMax vrátia hodnotu Null.

Bez ohľadu na to, či funkciu DMin alebo DMax použijete v makre, v module, vo výraze dotazu alebo vo vypočítavanom ovládacom prvku, argument kritéria je nutné zostaviť pozorne, aby sa zabezpečilo jeho správne vyhodnotenie.

Funkcie DMin a DMax môžete použiť na zadanie kritérií v dotaze v riadku Kritériá, v dotaze v rámci výrazu vypočítavaného poľa alebo v riadku Aktualizovať do v aktualizačnom dotaze.

Poznámka

Funkcie DMin a DMax alebo funkcie Min a Max môžete použiť vo výraze vypočítavaného poľa dotazu na súčty. Ak používate funkciu DMin alebo DMax , hodnoty sa pred zoskupením údajov vyhodnotia. Ak použijete funkciu Min alebo Max , údaje sa zoskupia pred vyhodnotením hodnôt vo výraze poľa.

Funkciu DMin alebo DMax použite vo vypočítavanom ovládacom prvku v prípade, ak potrebujete zadať kritériá na obmedzenie rozsahu údajov, v ktorom sa má funkcia použiť. Ak chcete napríklad zobraziť maximálne prepravné náklady účtované pre dodávku do Kalifornie, nastavte vlastnosť ControlSource textového poľa na nasledujúci výraz:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Ak chcete jednoducho nájsť minimálnu alebo maximálnu hodnotu všetkých záznamov v doméne, použite funkciu Min alebo Max .

Funkciu DMin alebo DMax môžete použiť v module, makre alebo vo vypočítavanom ovládacom prvku vo formulári, ak sa pole, ktoré potrebujete zobraziť, nenachádza v zdroji záznamov, na ktorom je založený formulár.

tip

Hoci na nájdenie minimálnej alebo maximálnej hodnoty z poľa v cudzej tabuľke môžete použiť funkciu DMin alebo DMax, efektívnejšie je vytvoriť dotaz obsahujúci potrebné polia z oboch tabuliek a založiť na ňom formulár alebo zostavu.

Poznámka

Pri použití týchto funkcií sa do spracovania nezahrnú neuložené zmeny v záznamoch v doméne . Ak chcete, aby bola funkcia DMax alebo DMin založená na zmenených hodnotách, je najprv nutné tieto zmeny uložiť tak, že na karte Údaje v časti Záznamy kliknete na položku Uložiť záznam, presuniete zameranie na iný záznam alebo použijete metódu Aktualizovať.

Príklad

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V nasledovnom príklade sa vráti najnižšia a najvyššia hodnota z poľa Preprava pre objednávky dodané do Spojeného kráľovstva. Doménou je tabuľka Objednávky. Argument kritériá obmedzuje výslednú množinu záznamov na záznamy, pre ktoré sa vlastnosť KrajinaOblasťDodania rovná hodnote Spojené kráľovstvo.


Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

V nasledujúcom príklade argument kritériá obsahuje aktuálnu hodnotu textového poľa s názvom DátumObjednávky. Textové pole je viazané na pole DátumObjednávky v tabuľke Objednávky. Všimnite si, že odkaz na ovládací prvok nie je zahrnutý v dvojitých úvodzovkách ("), ktoré označujú reťazec. Tým sa zabezpečí, že Access pri každom volaní funkcie DMax získa z ovládacieho prvku aktuálnu hodnotu.


Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
    & Forms!Orders!OrderDate & "#")

V nasledujúcom príklade výraz kritéria obsahuje premennú, dteOrderDate. Všimnite si, že znaky mriežky (#) sú zahrnuté do výrazu reťazca, takže po zreťazení reťazcov bude dátum medzi nimi.


Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
    "[OrderDate] = #" & dteOrderDate & "#")