K určení minimální a maximální hodnoty v zadané sadě záznamů (doméně) můžete použít funkce DMin a DMax . Funkce DMin a DMax můžete použít v modulu jazyka jazyk Visual Basic for Application (VBA), v makrech, 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, který identifikuje pole, pro které chcete najít minimální nebo maximální hodnotu. Může to být řetězcový výraz identifikující pole v tabulce nebo dotazu nebo výraz, který provádí výpočet dat v daném poli. V výrazu můžete zahrnout název pole v tabulce, ovládací prvek ve formuláři, konstantu nebo funkci. Pokud výraz obsahuje funkci, může být buď integrovaná, nebo uživatelem definovaná, ale ne jiná doménová agregace nebo agregační funkce 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 vrací 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í abecedně.
Funkce DMin a DMax ignorují hodnoty Null v poli, na které odkazuje výraz. Pokud však žádný záznam nesplňuje kritéria nebo pokud doména neobsahuje žádné záznamy, vrátí funkce DMin a DMaxhodnotu Null.
Ať už používáte funkci DMin nebo DMax v makrech, modulu, výrazu dotazu nebo počítaném ovládacím prvku, musíte argument kritéria sestavit pečlivě, abyste zajistili, že bude vyhodnocen správně.
Pomocí funkcí DMin a DMax můžete zadat kritéria v řádku Kritéria dotazu, ve výrazu počítaného pole v dotazu nebo v řádku Aktualizovat do aktualizačního dotazu.
Poznámka
Ve výrazu počítaného pole dotazu součtů 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'")
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 vyhledání minimální nebo maximální hodnoty z pole v cizí tabulce, může být efektivnější vytvořit dotaz obsahující 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ě se při použití těchto funkcí nezahrnou. 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 výslednou sadu záznamů na ty, pro které se ShipCountryRegion rovná UK.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
V dalším příkladu obsahuje argument kritéria aktuální hodnotu textového pole s názvem 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 další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 & "#")