Pomocí funkcí DMin a DMax můžete určit minimální a maximální hodnoty v určené sadě záznamů (doméně). Funkce DMin a DMax se používají v modulu VBA (jazyk Visual Basic for Application), makru, výrazu dotazu nebo počítaném ovládacím prvku.
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 určující pole, pro které chcete najít minimální nebo maximální hodnotu. Může jít buď o řetězcový výraz identifikující pole v tabulce nebo dotazu, nebo výraz, který provádí výpočet s daty daného pole. Výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud 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, který slouží k omezení oblasti dat, u které bude provedena funkce DMin nebo DMax . Kritérium je například často ekvivalentem klauzule WHERE ve výrazu SQL bez slova WHERE. Pokud je kritérium vynecháno, funkce DMin a DMax vyhodnotí výraz pro celou doménu. Všechna pole, která jsou obsažena v kritériu , 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é splňují kritéria. Pokud výraz identifikuje číselná data, vrátí funkce DMin a DMax číselné hodnoty. Pokud výraz identifikuje řetězcová data, 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. Pokud však kritéria nesplňuje žádný záznam nebo pokud doména neobsahuje žádné záznamy, vrátí funkce DMin a DMax hodnotu Null.
Bez ohledu na to, jestli použijete funkci DMin nebo DMax 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.
Funkci DMin a DMax můžete použít k zadání kritérií v řádku Kritéria dotazu, ve výrazu počítaného pole v dotazu nebo v řádku Aktualizovat do v aktualizačním dotazu.
Poznámka
Ve výrazu počítaného pole souhrnného dotazu můžete použít funkce DMin a DMax nebo funkce Min a Max . Pokud použijete funkci DMin nebo DMax , hodnoty se vyhodnotí před seskupením dat. Použijete-li funkci Min nebo Max , data se seskupí před vyhodnocením hodnot ve výrazu pole.
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'")
Pokud chcete jednoduše 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 nalezení minimální nebo maximální hodnoty z pole v cizí tabulce, může být efektivnější vytvořit dotaz obsahující požadovaná pole z obou tabulek a na tomto dotazu založit formulář nebo sestavu.
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 je zajištěno, že při každém volání funkce DMax získá Access z ovládacího prvku aktuální hodnotu.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
V následujícím příkladu výraz kritéria obsahuje 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 & "#")