Pomocí funkcí DMin a DMax můžete určit minimální a maximální hodnoty v zadané sadě záznamů ( Doména ). Funkce DMin a DMax použijte v modulu jazyka VBA (Visual Basic for Applications), Makro, výraz dotazu nebo Vypočítaný ovládací prvek.

Funkce DMin a DMax můžete například použít v počítaných ovládacích prvcích v sestavě k zobrazení nejmenšího a největšího množství objednávky pro určitého zákazníka. Nebo můžete použít funkci DMin ve výrazu dotazu a zobrazit všechny objednávky se slevou vyšší než minimální možná sleva.

Syntaxe

DMin ( výraz , doména [, kritéria] )

DMax ( výraz , doména [, kritéria] )

Funkce DMin a DMax mají následující argumenty:

Argument

Popis

výraz

Povinný argument. Výraz, který identifikuje pole, pro které chcete najít minimální nebo maximální hodnotu. Může jít buď o Řetězcový výraz, který určuje pole v tabulce nebo dotazu, nebo výraz, jehož prostřednictvím je proveden výpočet s daty daného pole. Argument výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud argument výraz obsahuje funkci, může jít o předdefinovanou funkci nebo funkci definovanou uživatelem, ale nikoli o jinou doménovou agregační funkci nebo agregační funkci SQL.

doména

Povinný argument. Řetězcový výraz identifikuje sadu záznamů tvořících doménu. Může jít o název tabulky nebo název dotazu, který nevyžaduje parametr.

kritéria

Nepovinný argument. Řetězcový výraz používaný k omezení rozsahu dat, na kterém se provádí funkce DMin nebo DMax . Například kritéria jsou často ekvivalentní klauzuli WHERE ve výrazu SQL bez slova WHERE. Pokud jsou kritéria vynechána, funkce DMin a DMax vyhodnocují výraz vůči celé doméně. Jakékoli pole, které je součástí kritérií , musí být také polem v doméně, jinak funkce DMin a DMax vrátí hodnotu Null.

Poznámky

Funkce DMin a DMax vracejí minimální a maximální hodnoty, které vyhovují kritériím. Pokud výraz identifikuje číselná data, funkce vracejí číselné hodnoty. Pokud výraz identifikuje řetězcová data, funkce vrátí řetězec, který je první nebo poslední podle abecedy.

Funkce DMin a DMax ignorují hodnoty Null v poli, na které odkazuje výraz. Jestliže však argumentu kritéria neodpovídá žádný záznam nebo jestli argument doména neobsahuje žádné záznamy, vrátí funkce DMin a DMax hodnotu Null.

Bez ohledu na to, jestli funkci DMin nebo DMax použijete v makru, modulu, výrazu dotazu nebo počítaném ovládacím prvku, je nutné vytvořit argument kritéria pečlivě, aby bylo zajištěno správné vyhodnocení funkce.

Funkce DMin a DMax můžete použít k určení kritérií v řádku Kritéria dotazu, ve výrazu počítaného pole v dotazu nebo na řádku Aktualizovat do Aktualizační dotaz.

Poznámka: Ve výrazu počítaného pole Souhrnný dotaz můžete použít funkce DMin a DMax nebo funkce Min a Max . Pokud použijete funkci DMin nebo DMax , hodnoty se vyhodnocují před seskupením dat. Pokud použijete funkci Min nebo Max , data se před vyhodnocením hodnot ve výrazu pole seskupí.

Funkci DMin nebo DMax použijte v počítaném ovládacím prvku, když potřebujete zadat kritéria k omezení oblasti dat, s kterou bude funkce provedena. Pokud například chcete zobrazit maximální přepravní náklady účtované za objednávku poslanou do Kalifornie, nastavte u vlastnosti .Zdrojovládacíhoprvku textového pole následující výraz:

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

Jestli chcete jen najít minimální nebo maximální hodnotu všech záznamů v doméně, použijte funkci Min nebo Max.

Funkci DMin nebo DMax je možné použít v modulu nebo makru nebo v počítaném ovládacím prvku ve formuláři, pokud se pole, které chcete zobrazit, nenachází ve zdroji záznamů, na kterém je daný formulář založený.

tip

I když můžete použít funkci DMin nebo DMax k vyhledání minimální nebo maximální hodnoty z pole v Cizí tabulka, může být efektivnější vytvořit dotaz, který obsahuje pole, která potřebujete, z obou tabulek a založit formulář nebo sestavu na daném dotazu.

Poznámka: Neuložené změny záznamů v doméně nebudou při použití těchto funkcí zahrnuty. Pokud chcete, aby byla funkce DMax nebo DMin založena na změněných hodnotách, je nutné nejdříve změny uložit kliknutím na Uložit záznam ve skupinovém rámečku Záznamy na kartě Data, přesunutím fokusu na jiný záznam nebo pomocí metody Update.

Příklad

Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Následující příklad vrátí nejnižší a nejvyšší hodnoty v poli Dopravné pro objednávky s místem dodání ve Spojeném království. Doménou je tabulka Objednávky. Argument kritéria omezuje sadu výsledků dotazu na záznamy, u kterých je v poli ZeměPříjemce hodnota UK.

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

V následujícím příkladu obsahuje argument kritéria aktuální hodnotu textového pole nazvaného DatumObjednávky. Textové pole je vázané na pole DatumObjednávky v tabulce Objednávky. Všimněte si, že odkaz na ovládací prvek není uveden v dvojitých uvozovkách, které označují řetězce. Tím se zajistí, že při každém zavolání funkce DMax access získá aktuální hodnotu z ovládacího prvku.

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

V následujícím příkladu obsahuje výraz kritéria proměnnou dteOrderDate. Všimněte si, že znaky čísel (#) jsou součástí řetězcového výrazu, aby při zřetězení řetězců tyto řetězce obsahovaly datum.

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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.