Funkce DMin, DMax

Funkce DMin a DMax slouží k určení minimální a maximální hodnoty v zadané sadě záznamů (Doména). Funkce DMin a DMax lze použít v modulu Visual Basic for Applications (VBA), Makro, výrazu dotazu nebo Vypočítaný ovládací prvek.

Funkce DMin a DMax lze použít například ve vypočtených ovládacích prvcích v sestavě k zobrazení nejmenší a největší částky objednávek pro určitého zákazníka. Funkci DMin lze použít také ve výrazu dotazu k zobrazení všech objednávek, u kterých je sleva 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 obsahují následující argumenty:

Argument

Popis

výraz

Povinný argument. Výraz určující pole, jehož minimální nebo maximální hodnotu chcete najít. 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. Tento ř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

Volitelný argument. Řetězcový výraz, který slouží k omezení oblasti dat, u které bude provedena funkce DMin nebo DMax. Argument kritéria je například často ekvivalentem klauzule WHERE ve výrazu SQL bez slova WHERE. V případě vynechání argumentu kritéria jsou hodnoty funkcí DMin a DMax zjišťovány pro argument výraz v celé doméně. Všechna pole obsažená v argumentu kritéria musí být také zahrnuta v argumentu doména. V opačném případě vrátí funkce DMin a DMax hodnotu Null.


Poznámky

Funkce DMin a DMax vrátí minimální a maximální hodnotu, které odpovídají argumentu kritéria. Pokud argument výraz označuje číselná data, funkce DMin a DMax vrátí číselné hodnoty. Pokud argument výraz označuje data typu řetězec, vrátí první nebo poslední řetězec podle abecedy.

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

Bez ohledu na to, zda funkci DMin nebo DMax použijete v makru, modulu, výrazu dotazu nebo vypočí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 lze použít k zadání kritérií v řádku Kritéria v dotazu, ve výrazu vypočítaného pole v dotazu nebo v řádku Aktualizovat v Aktualizační dotaz.

Poznámka : Ve výrazu vypočítaného pole Souhrnný dotaz lze použít funkce DMin a DMax nebo Min a Max. Použijete-li funkci DMin nebo DMax, jsou hodnoty vyhodnoceny před seskupením dat. Použijete-li funkci Min nebo Max, jsou data seskupena před vyhodnocením hodnot ve výrazu pole.

Funkci DMin nebo DMax lze použít ve vypočítaném ovládacím prvku, potřebujete-li zadat kritéria, která omezí oblast dat, u které bude tato funkce provedena. Chcete-li například zobrazit maximální náklady na dopravné pro objednávky s místem dodání v Kalifornii, nastavte vlastnost ZdrojOvládacíhoPrvku textového pole na následující výraz:

=DMax("[Dopravné]", "Objednávky", _
"[RegionPříjemce] = 'CA'")

Chcete-li pouze nalézt minimální nebo maximální hodnotu pro všechny záznamy v argumentu doména, použijte funkci Min nebo Max.

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

tip

I když lze minimální nebo maximální hodnotu z pole v Cizí tabulka nalézt pomocí funkce DMin nebo DMax, pravděpodobně bude efektivnější vytvořit dotaz, který obsahuje potřebná pole z obou tabulek, a založit formulář nebo sestavu na tomto dotazu.

Poznámka : Neuložené změny záznamů v argumentu doména nebudou při použití těchto funkcí zahrnuty. Pokud chcete, aby byly funkce DMax nebo DMin založeny na změněných hodnotách, je nutné nejdříve změny uložit klepnutím na tlačítko 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 uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že kliknete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.

V následujícím příkladu je vrácena nejnižší a nejvyšší hodnota v poli Dopravné pro objednávky s místem dodání ve Velké Británii. Doménou je tabulka Objednávky. Argument kritéria omezuje výsledky na záznamy, u kterých je v poli ZeměPříjemce hodnota UK.

Dim curX As Currency
Dim curY As Currency
curX = DMin("[Dopravné]", "Objednávky", _
"[ZeměPříjemce] = 'UK'")
curY = DMax("[Dopravné]", "Objednávky", _
"[ZeměPříjemce] = 'UK'")

V dalším příkladu obsahuje argument kritéria aktuální hodnotu textového pole DatumObjednávky. Toto textové pole je vázáno 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 je zajištěno, že při každém volání funkce DMax získá aplikace Microsoft Office Access 2007 aktuální hodnotu z ovládacího prvku.

Dim curX As Currency
curX = DMax("[Dopravné]", _
"Objednávky", "[DatumObjednávky] = #" _
& Forms!Objednávky!DatumObjednávky & "#")

V dalším příkladu obsahuje výraz kritéria proměnnou dteOrderDate. Všimněte si, že řetězcový výraz obsahuje znaky čísel (#), aby bylo datum při spojení řetězců uvedeno mezi těmito znaky.

Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Dopravné]", "Objednávky", _
"[DatumObjednávky] = #" & dteOrderDate & "#")
Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×