За допомогою функції DAvg можна обчислити середнє значення набору значень у вказаному наборі записів (домен). Використовуйте функцію DAvg в модулі Visual Basic for Applications (VBA), у макросі, у виразі запиту або в обчислюваному елементі керування.
Наприклад, ви можете використати функцію DAvg в рядку умов запиту на вибірку вартості доставки, щоб обмежити результати до записів, у яких вартість доставки вища за середнє значення. Або можете написати вираз із функцією DAvg в обчислюваному елементі керування, щоб відобразити середнє значення попередніх замовлень поруч зі значенням нового замовлення.
Синтаксис
DAvg(expr, domain [, criteria] )
Синтаксис функції DAvg має такі аргументи:
| Аргумент | Опис |
|---|---|
| expr | Обов’язковий. Вираз, що визначає поле з числовими даними, середнє значення яких потрібно обчислити. Це може бути рядковий вираз, який визначає поле в таблиці чи запиті, або вираз, який виконує обчислення даних у цьому полі. У виразі можна включити ім'я поля в таблицю, елемент керування у формі, константу або функцію. Якщо вираз містить функцію, її можна використовувати як вбудовану, так і визначену користувачем, але не іншу агрегатну функцію домену або агрегатну функцію SQL. |
| домен | Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. Це може бути ім’я таблиці або ім’я запиту, у якого немає обов’язкових параметрів. |
| умови | — необов’язковий аргумент. Рядковий вираз, який використовується для обмеження діапазону даних, до якого застосовується функція DAvg . Наприклад, умови часто еквівалентні речелю WHERE у виразі SQL без слова WHERE. Якщо аргумент criteria не вказано, функція DAvg обчислює вираз для всього домену. Будь-яке поле, включене до умов , також має бути полем у домені; Інакше функція DAvg повертає Null-значення. |
Примітки
Записи з Null-значенням не включаються до обчислення середнього значення.
Незалежно від того, використовуєте ви функцію DAvg у макросі чи модулі, у виразі запиту або в обчислюваному елементі керування, аргумент criteria потрібно створювати обережно, щоб переконатися, що він буде обчислено правильно.
За допомогою функції DAvg ви можете задати умову в рядку умови запиту. Наприклад, вам може знадобитися переглянути список усіх продуктів, замовлених у кількості, вищій за середню. Ви можете створити запит для таблиць "Замовлення", "Відомості про замовлення" та "Продукти" й додати поля "Назва продукту" й "Кількість" до рядка умови з таким виразом під полем "Кількість":
>DAvg("[Quantity]", "Orders")
Функцію DAvg також можна використовувати у виразі обчислюваного поля в запиті або в рядку Оновлення до запиту на оновлення.
Примітка.
Функцію DAvg або Avg можна використовувати у виразі обчислюваного поля в запиті підсумків. Якщо використовується функція DAvg , значення в середньому перед групуються даними. Якщо використовується функція Avg , дані згрупуються, перш ніж значення у виразі поля будуть усереднювані.
В обчислюваному елементі керування використовуйте функцію DAvg, коли потрібно за допомогою умов обмежити діапазон даних, до якого застосовується функція DAvg. Наприклад, щоб відобразити середню вартість поставок до Каліфорнії, установіть властивість ControlSource текстового поля для такого виразу:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Якщо потрібно просто об усерединати всі записи в домені, скористайтеся функцією Avg .
Функцію DAvg можна використовувати в модулі, макросі або обчислюваному елементі керування у формі, якщо потрібного поля немає в джерелі записів, на основі якого створено цю форму. Припустімо, що вам потрібно до форми на основі таблиці "Замовлення" включити поле "Кількість" із таблиці "Відомості про замовлення", щоб відобразити середню кількість елементів, замовлених певним клієнтом. Ви можете виконати це обчислення й відобразити дані у формі за допомогою функції DAvg.
Поради
- Якщо функція DAvg використовується в обчислюваному елементі керування, радимо розташувати елемент керування у верхньому або нижньому колонтитулі форми, щоб значення для цього елемента керування не переобчислювалося щоразу, коли ви переходите до нового запису.
- Якщо тип даних поля, з якого походить вираз , є числом, функція DAvg повертає тип даних Double. Якщо функція DAvg використовується в обчислюваному елементі керування, додайте до виразу функцію перетворення типів даних, щоб підвищити продуктивність.
- Хоча за допомогою функції DAvg можна визначити середнє значення в полі зовнішньої таблиці, може бути ефективніше створити запит, який містить усі потрібні поля, а потім базувати форму або звіт на основі цього запиту.
Примітка.
Незбережені зміни в записах у домені не включаються під час використання цієї функції. Якщо потрібно, щоб функція DAvg базвалася на змінених значеннях, спочатку потрібно зберегти зміни, натиснувши кнопку Зберегти запис у розділі Записи на вкладці Дані , перемістивши фокус до іншого запису або скориставшись методом Оновлення .
Приклад
Примітка.
У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
Наведена нижче функція повертає середню вартість доставки для замовлень, доставлених певного дня або пізніше. Домен – це таблиця "Замовлення". Аргумент criteria обмежує отриманий набір записів на основі вказаної країни або регіону та дати доставки. Зверніть увагу, що ключове слово 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#