Можете да използвате функциите DMin и DMax , за да определите минималните и максималните стойности в определен набор от записи ( домейн ). Използвайте функциите DMin и DMax в модул на Visual Basic for Applications (VBA), макрос, израз на заявка или изчисляема контрола.
Можете например да използвате функциите DMin и DMax в изчисляеми контроли в отчет, за да покажете най-малките и най-големите количества поръчки за конкретен клиент. Или можете да използвате функцията DMin в израз на заявка, за да покажете всички поръчки с отстъпка, по-голяма от минималната възможна отстъпка.
Синтаксис
DMin ( израз ; домейн [, критерий] )
DMax ( израз ; домейн [, критерий] )
Функциите DMin и DMax имат следните аргументи:
Аргумент |
Описание |
---|---|
expr |
Задължителен. Израз, който идентифицира полето, за което искате да намерите минималната или максималната стойност. Това може да бъде низов израз, идентифициращ поле в таблица или заявка, или израз, който извършва изчисление върху данните в това поле. В expr можете да включите името на поле в таблица, контрола на формуляр, константа или функция. Ако expr съдържа функция, тя може да бъде вградена или дефинирана от потребителя, но не и друга агрегатна функция на домейн или SQL агрегатна функция. |
domain |
Задължителен. Низов израз, идентифициращ набора от записи, който съставлява домейна. Това може да бъде името на таблица или името на заявка за заявка, която не изисква параметър. |
criteria |
По желание. Низов израз, използван за ограничаване на диапазона от данни, върху който се изпълнява функцията DMin или DMax . Например критерият често е еквивалентен на клаузата WHERE в SQL израз, без думата WHERE. Ако criteria е пропуснато, функциите DMin и DMaxизчисляват expr спрямо целия домейн. Всяко поле, което е включено в критерий , трябва също да бъде поле в domain, в противен случай функциите DMin и DMax връщат Null. |
Забележки
Функциите DMin и DMax връщат минималните и максималните стойности, които удовлетворяват критериите. Ако expr идентифицира числови данни, функциите DMin и DMax връщат числови стойности. Ако expr идентифицира данни от низ, те връщат низа, който е първи или последен по азбучен ред.
Функциите DMin и DMax игнорират стойностите Null в полето, адресирано от израз. Ако обаче нито един запис не отговаря на критерии или ако домейнът не съдържа записи, функциите DMin и DMaxвръщат Null.
Независимо дали използвате функцията DMin , или DMax в макрос, модул, израз на заявка или изчисляема контрола, трябва да създадете аргумента criteria внимателно, за да сте сигурни, че ще се изчислява правилно.
Можете да използвате функцията DMin и DMax , за да зададете критерии в реда Критерии на заявка, в израз за изчисляемо поле в заявка или в реда Актуализиране на на на заявка за актуализиране.
Забележка: Можете да използвате функциите DMin и DMax или функциите Min и Max в израз за изчисляемо поле на заявка за общи суми. Ако използвате функцията DMin или DMax , стойностите се изчисляват преди групирането на данните. Ако използвате функцията Min или Max , данните се групират, преди стойностите в израза за полето да бъдат оценени.
Използвайте функцията DMin или DMax в изчисляема контрола, когато трябва да зададете критерии за ограничаване на диапазона от данни, върху който се изпълнява функцията. Например за да покажете максималния навло, таксуван за поръчка, изпратена за Калифорния, задайте свойството ControlSource на текстово поле на следния израз:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Ако просто искате да намерите минималната или максималната стойност на всички записи в домейна, използвайте функцията Min или Max .
Можете да използвате функцията DMin или DMax в модул или макрос или в изчисляема контрола във формуляр, ако полето, което трябва да покажете, не е в източника на записи, на който се базира вашият формуляр.
съвет
Въпреки че можете да използвате функцията DMin или DMax, за да намерите минималната или максималната стойност от поле в външна таблица, може да е по-ефективно да създадете заявка, съдържаща полетата, които са ви необходими, от двете таблици и да базирате своя формуляр или отчет на тази заявка.
Забележка: Незаписаните промени в записите в домейна не се включват, когато използвате тези функции. Ако искате функцията DMax или DMin да се базира на променените стойности, трябва първо да запишете промените, като щракнете върху Запиши записа под Записи в раздела Данни , преместите фокуса върху друг запис или използвате метода Update .
Пример
Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.
Следващият пример връща най-ниските и най-високите стойности от полето "Навло" за поръчките, експедирани за Обединеното кралство. Домейнът е таблицата "Поръчки". Аргументът criteria ограничава получения набор от записи до тези, за които ShipCountryRegion е равно на "Великобритания".
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
В следващия пример аргументът criteria включва текущата стойност на текстово поле, наречено OrderDate. Текстовото поле е обвързано с поле OrderDate в таблицаТа Orders. Обърнете внимание, че препратката към контролата не е включена в двойните кавички ("), които означават низовете. Това гарантира, че при всяко извикване на функцията DMax Access получава текущата стойност от контролата.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
В следващия пример изразът за критерий включва променлива, dteOrderDate. Обърнете внимание, че знаците за номер (#) са включени в низовия израз, така че когато низовете са конкатенирани, те ще ограждат датата.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")