За допомогою функції DSum можна обчислити суму набору значень у вказаному наборі записів ( домен ). Використовуйте функцію DSum у модулі Visual Basic for Applications (VBA), макрос, виразі запиту або обчислюваний елемент керування.
Наприклад, функцію DSum можна використовувати у виразі обчислюваного поля запиту, щоб обчислити загальний обсяг збуту конкретного працівника за певний період часу. Функцію DSum можна також використати в обчислюваному елементі керування, щоб відобразити суму збуту з нагромадженням для певного продукту.
Синтаксис
DSum ( вираз , домен [, умови] )
Синтаксис функції DSum має такі аргументи:
Аргумент |
Опис |
expr |
Обов’язковий. Вираз, який визначає числове поле, значення якого потрібно підсумувати. Це може бути рядковий вираз, який визначає поле в таблиці або запиті, або це може вираз, який виконує обчислення даних у цьому полі. В аргументі вираз можна вказати ім’я поля в таблиці, елемента керування у формі, константи або функції. Якщо аргумент вираз включає функцію, вона може бути вбудованою або користувацькою, але не може бути іншою агрегатною функцією домену або агрегатною функцією SQL. |
домен |
Обов’язковий аргумент. Рядковий вираз, який визначає набір записів, щоб складають домен. Це може бути ім’я таблиці або ім’я запиту, у якого немає обов’язкових параметрів. |
умови |
— необов’язковий аргумент. Рядковий вираз, який використовується для обмеження діапазону даних, до якого застосовується функція DSum . Наприклад, умови часто еквівалентні речелю WHERE у виразі SQL без слова WHERE. Якщо аргумент criteria не вказано, функція DSum обчислює вираз для всього домену. Будь-яке поле, включене до умов , також має бути полем у домені; В іншому разі функція DSum повертає Null-значення. |
Примітки
Якщо жоден запис не задовольняє умовам в аргументі умови або домен не містить жодного запису, функція DSum повертає Null-значення.
Де б не використовувалася функція DSum – у макросі, модулі, виразі запиту чи обчислюваному елементі керування, аргумент умови потрібно створювати з обережністю, щоб забезпечити правильність його обчислення.
За допомогою функції DSum можна вказати умови в рядку Критерії запиту, в обчислюваному полі у виразі запиту або в рядку Оновлення дозапит на оновлення.
Примітка.: Функцію DSum або Sum можна використовувати у виразі обчислюваного поля в запит підсумків. Якщо використовується функція DSum , значення обчислюються до згрупування даних. Якщо використовується функція Sum , дані згрупуються перед обчисленням значень у виразі поля.
Функцію DSum можна використовувати, коли потрібно відобразити суму з набору значень поля, яке не є джерелом записів форми або звіту. Припустімо, наприклад, що є форма, у якій відображається інформація про певний продукт. Функцію DSum можна використовувати, щоб зберегти накопичений підсумок збуту продукту в обчислюваному елементі керування.
Порада
Якщо потрібно зберегти накопичений підсумок в елементі керування звіту, можна використати властивість RunningSum цього елемента керування, якщо його базове поле присутнє в джерелі записів звіту. Функцію DSum можна використовувати, щоб зберегти суму з нагромадженням у формі.
Примітка.: Під час використання цієї функції незбережені зміни до записів у домені не включаються. Якщо потрібно, щоб функція DSum базвалася на змінених значеннях, спочатку потрібно зберегти зміни, натиснувши кнопку Зберегти запис у групі Записи на вкладці Основне , перемістивши фокус до іншого запису або скориставшись методом Update .
Приклади
Використання функції DSum у виразі. Функцію домену (наприклад, DSum) можна використовувати в рядку Оновлення до в запиті на оновлення. Припустімо, наприклад, що потрібно відстежувати поточний збут за продуктами в таблиці "Продукти". Можна додати до таблиці "Продукти" нове поле з ім’ям "Збут_на_цей_час" і виконати запит на оновлення, щоб обчислити правильні значення й оновити записи. Для цього створіть новий запит на основі таблиці "Продукти", а потім на вкладці Конструктор у групі Тип запиту натисніть кнопку Оновити. Додайте поле "Збут_на_цей_час" до сітки запиту та введіть у рядку Оновлення до таке:
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
Виконуючи запит, програма Access обчислює загальний обсяг збуту для кожного продукту на основі даних із таблиці "Відомості про замовлення". Обсяг збуту для кожного продукту буде додано до таблиці "Продукти".
Використання функції DSum у коді VBA
Примітка.: У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
У наведеному нижче прикладі підсумовуються значення з поля "Вартість пересилання" для замовлень, доставлених до Сполученого Королівства. Домен – це таблиця "Замовлення". Аргумент умови обмежує отриманий набір записів, включаючи в нього лише ті, у яких поле "Країна_або_регіон_доставки" має значення "Сполучене Королівство".
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
У наступному прикладі підсумок обчислюється за допомогою двох окремих умов. Зверніть увагу, що одинарні лапки (') і знаки числа (#) входять у рядковий вираз, тому, коли рядки об'єднуються, рядок-літерал взято в одинарні лапки, а дата взята в знаки фунта.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")