Функція DAvg

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

Синтаксис

DAvg(вираз, домен [, умови] )

Синтаксис функції DAvg має такі аргументи:

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

    

Примітки

Записи з Null-значенням не включаються до обчислення середнього значення.

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

За допомогою функції DAvg ви можете задати умову в рядку умови запиту. Наприклад, вам може знадобитися переглянути список усіх продуктів, замовлених у кількості, вищій за середню. Ви можете створити запит для таблиць "Замовлення", "Відомості про замовлення" та "Продукти" й додати поля "Назва продукту" й "Кількість" до рядка умови з таким виразом під полем "Кількість":

>DAvg("[Quantity]", "Orders")

Функцію DAvg також можна використовувати у виразі обчислюваного поля запиту або в рядку "Оновлення до" запиту на оновлення.

Примітка.

У виразі обчислюваного поля запиту підсумків можна використовувати функцію DAvg або Avg . Якщо використовується функція DAvg , значення усереднюються перед групуванням даних. Якщо використовується функція Avg , дані групуються перед обчисленням усереднення значень у виразі поля.

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

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

Якщо потрібно просто обчислити середнє значення всіх записів у домені, використовуйте функцію Avg .

Функцію DAvg можна використовувати в модулі, макросі або обчислюваному елементі керування у формі, якщо потрібного поля немає в джерелі записів, на основі якого створено цю форму. Припустімо, що вам потрібно до форми на основі таблиці "Замовлення" включити поле "Кількість" із таблиці "Відомості про замовлення", щоб відобразити середню кількість елементів, замовлених певним клієнтом. Ви можете виконати це обчислення й відобразити дані у формі за допомогою функції DAvg.

Поради

  • Якщо функція DAvg використовується в обчислюваному елементі керування, радимо розташувати елемент керування у верхньому або нижньому колонтитулі форми, щоб значення для цього елемента керування не переобчислювалося щоразу, коли ви переходите до нового запису.
  • Якщо поле, з якого визначається аргумент expr , має числовий тип даних, то функція DAvg повертає тип даних Double. Якщо функція DAvg використовується в обчислюваному елементі керування, додайте до виразу функцію перетворення типів даних, щоб підвищити продуктивність.
  • Хоча за допомогою функції DAvg можна визначити середнє значення в полі підлеглої таблиці, можливо, ефективніше створити запит, який містить усі потрібні поля, а потім взяти за основу форму або звіт на основі цього запиту.

Примітка.

Ця функція не враховує незбережені зміни в записах домену . Якщо потрібно, щоб функція DAvg врахувала змінені значення, спочатку потрібно зберегти зміни. Для цього на вкладці "Дані" натисніть кнопку "Зберегти запис" у розділі "Записи", перемістіть фокус до іншого запису або скористайтеся методом оновлення.

Приклад

Примітка.

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

Наведена нижче функція повертає середню вартість доставки для замовлень, доставлених певного дня або пізніше. Домен – це таблиця "Замовлення". Аргумент " Умови " обмежує набір результатів на основі заданої країни чи регіону та дати відвантаження. Зверніть увагу, що ключове слово AND включено в рядок для розділення кількох полів в аргументі " умови". Усі записи, які обчислює функція DAvg, матимуть обидві умови.

Public Function AvgFreightCost _
    (ByVal strCountryRegion As String, _
     ByVal dteShipDate As Date) As Double
    AvgFreightCost = DAvg("[Freight]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

Щоб викликати функцію, використайте у вікні перевірки цей рядок коду:

:AvgFreightCost "UK", #1/1/96#