Функції DMin і DMax можна використовувати для визначення мінімального та максимального значень у вказаному наборі записів (домені). Використовуйте функції DMin і DMax у модулі Visual Basic for Applications (VBA), макросі, виразі запиту або обчислюваному елементі керування.
Наприклад, ви можете використати функції DMin і DMax в обчислюваних елементах керування у звіті, щоб відобразити найменші й найбільші суми замовлень для певного клієнта. Або можете написати вираз запиту з функцією DMin, щоб відобразити всі замовлення зі знижкою, вищою за найменшу можливу.
Синтаксис
DMin(вираз, домен [, умови] )
DMax(вираз, домен [, умови] )
Функції DMin і DMax мають такі аргументи:
| Аргумент | Опис |
|---|---|
| expr | Обов’язковий. Вираз, що визначає поле, для якого потрібно знайти найменше або найбільше значення. Це може бути рядковий вираз, який визначає поле в таблиці чи запиті, або вираз, який обчислює дані в цьому полі. В виразі можна вказати ім'я поля в таблиці, елемента керування у формі, константи або функції. Якщо вираз включає функцію, вона може бути вбудованою або користувацькою, але не може бути іншою агрегатною функцією домену або агрегатною функцією SQL. |
| домен | Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. Це може бути ім’я таблиці або ім’я запиту, у якого немає обов’язкових параметрів. |
| умови | — необов’язковий аргумент. Рядковий вираз, який дає можливість обмежити діапазон даних, до якого застосовується функція DMin або DMax . Наприклад, умови часто еквівалентні реченню WHERE у виразі SQL без слова WHERE. Якщо умову не вказано, функції DMin і DMax обчислюють вираз для всього домену. Будь-яке поле, яке включено до умов , також має бути полем домену, інакше функції DMin і DMax повертатимуть Null-значення. |
Примітки
Функції DMin і DMax повертають найменше та найбільше значення, які відповідають умовам. Якщо вираз expr визначає числові дані, функції DMin і DMax повертають числові значення. Якщо вираз визначає дані типу "рядок", то повертає перший або останній рядок за алфавітом.
Функції DMin і DMax ігнорують Null-значення в полі, на яке посилається вираз. Однак, якщо жоден запис не задовольняє умовам або домен не містить жодного запису, функції DMin і DMax повертають Null-значення.
Де б не використовувалася функція DMin або DMax (у макросі, модулі, виразі запиту чи обчислюваному елементі керування ), аргумент criteria потрібно створювати з обережністю, щоб забезпечити правильність його обчислення.
За допомогою функцій DMin і DMax можна вказати умови в рядку "Criteria" (Критерії) запиту, в обчислюваному полі виразу запиту або в рядку "Update To" (Оновлення до) запиту на оновлення.
Примітка.
У виразі обчислюваного поля запиту підсумків можна використовувати функції DMin і DMax або функції Min і Max . Якщо використовується функція DMin або DMax , значення обчислюються перед групуванням даних. Якщо використовується функція Min або Max , дані групуються перед обчисленням значень у виразі поля.
В обчислюваному елементі керування використовуйте функцію DMin або DMax, коли потрібно за допомогою умов обмежити діапазон даних, до якого застосовується функція. Наприклад, щоб відобразити максимальну вартість доставки замовлення до Каліфорнії, установіть властивість ControlSource текстового поля для такого виразу:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Якщо потрібно просто знайти найменше або найбільше значення всіх записів у домені, використовуйте функцію Min або Max .
Функцію DMin або DMax можна використовувати в модулі, макросі або обчислюваному елементі керування у формі, якщо потрібного поля немає в джерелі записів, на основі якого створено цю форму.
Порада
Хоча функцію DMin або DMax можна використовувати, щоб знайти найменше або найбільше значення з поля зовнішньої таблиці, можливо, ефективніше створити запит, який містить необхідні поля з обох таблиць і на основі цього запиту – форму або звіт.
Примітка.
Ці функції не враховують незбережені зміни в записах домену . Якщо потрібно, щоб функція DMax або DMin врахувала змінені значення, спочатку потрібно зберегти зміни. Для цього на вкладці "Дані" в розділі "Записи" натисніть кнопку "Зберегти запис", перемістіть фокус до іншого запису або скористайтеся методом оновлення.
Приклад
Примітка.
У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
У наведеному нижче прикладі повертаються найменші та найбільші значення з поля "Вартість доставки" для замовлень, доставлених до Сполученого Королівства. Домен – це таблиця "Замовлення". Аргумент " Умови " обмежує отриманий набір записів, включаючи в нього лише ті, у яких поле "Країна_або_регіон_доставки" має значення "Сполучене Королівство".
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
У наступному прикладі аргумент " умови" містить поточне значення текстового поля під назвою "Дата_замовлення". Текстове поле пов’язано з полем "Дата_замовлення" в таблиці "Замовлення". Зверніть увагу, що посилання на елемент керування не взято в подвійні лапки, які позначають рядки. Це гарантує, що програма Access отримуватиме поточне значення з елемента керування щоразу, коли викликається функція DMax .
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 & "#")