Функція DSum

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

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

Синтаксис

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

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

Аргумент

Опис

вираз

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

домен

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

умови

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


Примітки

Якщо жоден запис не задовольняє умовам в аргументі умови або домен не містить жодного запису, функція DSum повертає Null-значення.

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

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

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

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

Порада

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

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

Приклади

Використання функції 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#")
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×