Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

За допомогою функцій DMin і DMax можна визначити мінімальне та максимальне значення в указаному наборі записів ( домен ). Використовуйте функції DMin і DMax у модулі Visual Basic for Applications (VBA), макрос, виразі запиту або обчислюваний елемент керування.

Наприклад, ви можете використати функції DMin і DMax в обчислюваних елементах керування у звіті, щоб відобразити найменші й найбільші суми замовлень для певного клієнта. Або можете написати вираз запиту з функцією DMin, щоб відобразити всі замовлення зі знижкою, вищою за найменшу можливу.

Синтаксис

DMin ( expr , domain [, criteria] )

DMax ( expr , domain [, criteria] )

Функції DMin і DMax мають такі аргументи:

Аргумент

Опис

expr

Обов’язковий. Вираз, що визначає поле, для якого потрібно знайти найменше або найбільше значення. Це може бути рядковий вираз, який визначає поле в таблиці або запиті, або вираз, який обчислює дані в цьому полі. В аргументі expr можна вказати ім’я поля в таблиці, елемента керування у формі, константи або функції. Якщо аргумент expr включає функцію, вона може бути вбудованою або користувацькою, але не може бути іншою агрегатною функцією домену чи агрегатною функцією SQL.

домен

Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. Це може бути ім’я таблиці або ім’я запиту, у якого немає обов’язкових параметрів.

умови

— необов’язковий аргумент. Рядковий вираз, який використовується для обмеження діапазону даних, до якого застосовується функція DMin або DMax . Наприклад, умови часто еквівалентні речелю WHERE у виразі SQL без слова WHERE. Якщо аргумент criteria не вказано, функції DMin і DMax оцінюють вираз для всього домену. Будь-яке поле, включене до умов , також має бути полем у домені, інакше функції DMin і DMax повертають Null-значення.

Примітки

Функції DMin і DMax повертають найменше та найбільше значення, які задовольняють умови в аргументі criteria. Якщо вираз expr визначає числові дані, функції DMin і DMax повертають числові значення. Якщо вираз expr визначає дані типу "рядок", то ці функції повертають перший або останній рядок за алфавітом.

Функції DMin і DMax ігнорують Null-значення в полі, на яке посилається аргумент expr. Однак, якщо жоден запис не задовольняє умови в аргументі criteria або аргумент domain не містить жодного запису, функції DMin і DMax повертають Null-значення.

Де б не використовувалася функція DMin або DMax (у макросі, модулі, виразі запиту чи обчислюваному елементі керування), аргумент criteria потрібно створювати дуже уважно, щоб він обчислювався правильно.

За допомогою функції DMin і DMax можна вказати умови в рядку Критерії запиту, у виразі обчислюваного поля в запиті або в рядку Оновлення до запит на оновлення.

Примітка.: У виразі обчислюваного поля запит підсумків можна використовувати функції DMin і DMax або Min і Max . Якщо використовується функція DMin або DMax , значення обчислюються до згрупування даних. Якщо використовується функція Min або Max , дані згрупуються перед обчисленням значень у виразі поля.

В обчислюваному елементі керування використовуйте функцію DMin або DMax, коли потрібно за допомогою умов обмежити діапазон даних, до якого застосовується функція. Наприклад, щоб відобразити максимальну вартість доставки замовлення до Каліфорнії, установіть властивість ControlSource текстового поля для такого виразу:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Якщо потрібно просто знайти найменше або найбільше значення всіх записів в аргументі domain, використовуйте функцію Min або Max.

Функцію DMin або DMax можна використовувати в модулі, макросі або обчислюваному елементі керування у формі, якщо потрібного поля немає в джерелі записів, на основі якого створено цю форму.

Порада

Хоча за допомогою функції DMin або DMax можна знайти мінімальне або максимальне значення з поля в підлегла таблиця, може бути ефективніше створити запит, який містить потрібні поля з обох таблиць, і базувати форму або звіт на основі цього запиту.

Примітка.: Незбережені зміни в записах у домені не включаються під час використання цих функцій. Якщо потрібно, щоб функція DMax або DMin базвалася на змінених значеннях, спочатку потрібно зберегти зміни, натиснувши кнопку Зберегти запис у розділі Записи на вкладці Дані , перемістивши фокус до іншого запису або скориставшись методом Update .

Приклад

Примітка.: У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У наведеному нижче прикладі повертаються найменші та найбільші значення з поля "Вартість доставки" для замовлень, доставлених до Сполученого Королівства. Домен – це таблиця "Замовлення". Аргумент criteria обмежує отриманий набір записів, включаючи в нього лише ті, у яких поле "Країна_або_регіон_доставки" має значення "Сполучене Королівство".

Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

У наступному прикладі аргумент criteria містить поточне значення текстового поля під назвою "Дата_замовлення". Текстове поле пов’язано з полем "Дата_замовлення" в таблиці "Замовлення". Зверніть увагу, що посилання на елемент керування не взято в подвійні лапки, які позначають рядки. Це гарантує, що щоразу, коли викликається функція 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 & "#")

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.