Приклади виразів

У цій статті наведено приклади виразів у програмі Access. Вираз – це комбінація математичних або логічних операторів, констант, функцій, полів таблиці, елементів керування та властивостей, яка повертає одне значення. У програмі Access за допомогою виразу можна обчислити значення, перевірити дані та задати стандартне значення для поля або елемента керування.

Примітка : Ця стаття містить основні вказівки зі створення виразів, але не є вичерпним посібником із використання передбачених у програмі Access засобів створення виразів. Докладні відомості про створення виразів див. в цій статті.

У цій статті

Загальні відомості про вираз

Приклади виразів у формах і звітах

Приклади виразів у запитах і фільтрах

Приклади виразів для стандартних значень

Приклади виразів правила перевірки для поля

Приклади виразів умови макросу

Загальні відомості про вираз

У програмі Access терміни вираз і формула синонімічні. Вираз складається з певної кількості ймовірних елементів, за допомогою яких (поодинці чи в поєднанні) можна отримати результат. Елементи виразу:

  • ідентифікатори – імена полів таблиці чи елементів керування у формах чи звітах або властивості цих полів чи елементів керування;

  • оператори, як-от + (плюс) або - (мінус);

  • функції, як-от SUM або AVG;

  • константи – незмінні значення, як-от текстові рядки або числа, які не обчислюються за допомогою виразу.

Вирази можна використовувати різними способами: щоб виконати обчислення, отримати значення елемента керування або ввести умову в запиті тощо.

Щоб дізнатися більше про те, як і де використовувати вирази, див. статтю Створення виразу.

На початок сторінки

Приклади виразів у формах і звітах

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

Нижче описано, як ввести вираз в елементі керування "Текстове поле" в наявній формі або звіті.

Створення обчислюваного елемента керування

  1. В області переходів клацніть правою кнопкою миші форму або звіт, які потрібно змінити, а потім виберіть у контекстному меню пункт Конструктор Зображення кнопки .

  2. У формі або звіті клацніть правою кнопкою миші елемент керування "Текстове поле", який потрібно змінити (а не підпис, пов’язаний із текстовим полем), а потім у контекстному меню виберіть пункт Властивості.

  3. За потреби перейдіть на вкладку Усі або Дані. На обох вкладках міститься властивість Джерело елемента керування.

  4. Клацніть поле поруч із властивістю Джерело елемента керування та введіть вираз. Наприклад, ви можете скопіювати та вставити вираз зі стовпця "Вираз" у таблиці в розділі нижче.

  5. Закрийте аркуш властивостей.

Вирази, які об’єднують текст або виконують операції над ним

Вирази з таблиці нижче створюють обчислюваний елемент керування за допомогою операторів & (амперсанд) і + (плюс), які об’єднують текстові рядки, вбудованих функцій, які обробляють текстовий рядок, та інших операцій із текстом.

Вираз

Результат

="Н/Д"

Відображає фразу "Н/Д".

=[Ім’я] & " " & [Прізвище]

Відображає значення, які містяться в полях таблиці "Ім’я" та "Прізвище". У цьому прикладі оператор & застосовується, щоб об’єднати поля "Ім’я" та "Прізвище" з пробілом між ними (у лапках).

=Left([Назва товару]; 1)

За допомогою функції Left відображає перший символ значення поля або елемента керування "Назва товару".

=Right([Код активу]; 2)

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

=Trim([Адреса])

За допомогою функції Trim відображає значення елемента керування "Адреса" без пробілів на початку та в кінці.

=IIf(IsNull([Область]); [Місто] & " " & [Поштовий індекс]; [Місто] & " " & [Область] & " " & [Поштовий індекс])

За допомогою функції IIf відображає значення елементів керування "Місто" й "Поштовий індекс", якщо елемент керування "Область" має Null-значення. В іншому випадку відображає значення елементів керування "Місто", "Область" і "Поштовий індекс", розділені пробілами.

=[Місто] & (" " + [Область]) & " " & [Поштовий індекс]

За допомогою оператора + і розповсюдження Null-значення відображаються значення елементів керування "Місто" й "Поштовий індекс", якщо поле або елемент керування "Область" має Null-значення. В іншому випадку відображаються значення полів або елементів керування "Місто", "Область" та "Поштовий індекс", розділені пробілами.

Розповсюдження Null-значення означає, що вираз отримує Null-значення, якщо будь-який із його компонентів має Null-значення. Оператор + підтримує розповсюдження Null-значення, а оператор & – ні.

Вирази у верхніх і нижніх колонтитулах

Щоб відобразити або надрукувати номери сторінок у формах і звітах, використовуються властивості Page (Сторінка) і Pages (Сторінки). Вони доступні лише під час друку або попереднього перегляду, тому не відображаються на аркуші властивостей форми чи звіту. Щоб скористатися цими властивостями, зазвичай потрібно розмістити текстове поле в розділі верхнього або нижнього колонтитула форми чи звіту, а потім задати вираз, як у наведеній нижче таблиці.

Докладні відомості про використання колонтитулів у формах і звітах див. в статті Вставлення у форму або звіт номерів сторінок.

Вираз

Приклад результату

=[Page]

1

="Сторінка " & [Page]

Сторінка 1

="Сторінка " & [Page] & " з " & [Pages]

Сторінка 1 з 3

=[Page] & " з " & [Pages] & " стор."

1 з 3 стор.

=[Page] & "/" & [Pages] & " стор."

1/3 стор.

=[Країна або регіон] & " – " & [Page]

Україна – 1

=Format([Page]; "000")

001

="Дата друку: " & Date()

Дата друку: 31.12.2007

Вирази, які виконують арифметичні операції

Вирази дають змогу додавати, віднімати, множити й ділити значення з кількох полів або елементів керування. За допомогою виразів також можна виконувати арифметичні операції з датами. Наприклад, у вас є поле таблиці "Дата й час" під назвою "Потрібна дата". У полі (або елементі керування, прив’язаному до поля) вираз =[Потрібна дата] - 2 повертає значення дати й часу, що на два дні раніше, ніж поточні значення в полі "Потрібна дата".

Вираз

Результат

=[Проміжний підсумок]+[Вартість доставки]

Сума значень у полях або елементах керування "Проміжний підсумок" і "Вартість доставки".

=[Потрібна дата]-[Дата доставки]

Інтервал між значеннями дат у полях або елементах керування "Потрібна дата" й "Дата доставки".

=[Ціна]*1,06

Добуток значення в полі або елементі керування "Ціна" та коефіцієнта 1,06 (додає 6 відсотків до значення "Ціна").

=[Кількість]*[Ціна]

Добуток значень у полях або елементах керування "Кількість" і "Ціна".

=[Загальна кількість працівників]/[Загальна кількість країн або регіонів]

Частка значень у полях або елементах керування "Загальна кількість працівників" і "Загальна кількість країн або регіонів".

Примітка : Якщо у виразі використовується арифметичний оператор (+, -, * або /) і один з елементів керування у виразі має Null-значення, результат усього виразу матиме Null-значення – це називається розповсюдженням Null-значення. Якщо записи в якому-небудь з елементів керування, використаному у виразі, можуть мати Null-значення, щоб уникнути розповсюдження Null-значення, перетворіть Null-значення на нуль за допомогою функції Nz, наприклад: =Nz([Проміжний підсумок])+Nz([Вартість доставки]).

Докладні відомості про цю функцію див. в статті Функція Nz.

Вирази, які посилаються на значення в інших полях або елементах керування

Інколи може знадобитися значення, доступне в іншому місці, наприклад у полі або елементі керування в іншій формі чи звіті. Ви можете повернути це значення з іншого поля чи елемента керування за допомогою виразу.

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

Вираз

Результат

=Forms![Замовлення]![Ідентифікатор замовлення]

Значення елемента керування "Ідентифікатор замовлення" у формі "Замовлення".

=Forms![Замовлення]![Підформа замовлень].Form![Проміжний підсумок замовлень]

Значення елемента керування "Проміжний підсумок замовлень" у підформі під назвою "Підформа замовлень", розташованій у формі "Замовлення".

=Forms![Замовлення]![Підформа замовлень]![Ідентифікатор товару].Column(2)

Значення третього стовпця в багатостовпцевому списку "Ідентифікатор товару" в підформі під назвою "Підформа замовлень", розташованій у формі "Замовлення" (зверніть увагу, що 0 позначає перший стовпець, 1 – другий стовпець і т. д.).

=Forms![Замовлення]![Підформа замовлень]![Ціна] * 1,06

Добуток значення елемента керування "Ціна" в підформі під назвою "Підформа замовлень", розташованій у формі "Замовлення", і коефіцієнта 1,06 (додає 6 відсотків до елемента керування "Ціна").

=Parent![Ідентифікатор замовлення]

Значення елемента керування "Ідентифікатор замовлення" в головній або батьківській формі поточної підформи.

Вирази в таблиці нижче показують деякі способи, як можна використовувати обчислювані елементи керування у звітах. Вирази посилаються на властивість Report (Звіт).

Докладні відомості про цю властивість див. в статті Властивість "Звіт (Report)".

Вираз

Результат

=Report![Рахунок-фактура]![Ідентифікатор замовлення]

Значення елемента керування "Ідентифікатор замовлення" у звіті під назвою "Рахунок-фактура".

=Report![Зведення]![Зведений підзвіт]![Загальний обсяг продажів]

Значення елемента керування "Загальний обсяг продажів" у підзвіті під назвою "Зведений підзвіт" звіту "Зведення".

=Parent![Ідентифікатор замовлення]

Значення елемента керування "Ідентифікатор замовлення" в головному або батьківському звіті поточного підзвіту.

Вирази, які рахують кількість, обчислюють суму й середнє значення

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

Вирази в таблиці нижче показують деякі зі способів використання таких функцій, як Avg, Count і Sum.

Вираз

Опис

=Avg([Вартість доставки])

За допомогою функції Avg відображає середнє значення поля таблиці або елемента керування "Вартість доставки".

=Count([Ідентифікатор замовлення])

За допомогою функції Count відображає кількість записів в елементі керування "Ідентифікатор замовлення".

=Sum([Продажі])

За допомогою функції Sum відображає суму значень в елементі керування "Продажі".

=Sum([Кількість]*[Ціна])

За допомогою функції Sum відображає суму добутків значень в елементах керування "Кількість" і "Ціна".

=[Продажі]/Sum([Продажі])*100

Відображає відсоткове значення продажів, отримане діленням значення елемента керування "Продажі" на суму всіх значень елемента керування "Продажі".

Примітка : Якщо для властивості Формат елемента керування задано значення Відсотковий, приберіть із виразу частину *100.

Докладні відомості про використання агрегатних функцій і підсумовування значень у полях і стовпцях див. в статтях Обчислення суми даних із використанням запиту, Обчислення даних із використанням запиту, Підрахування кількості рядків у таблиці даних і Відображення підсумків стовпців у таблиці даних.

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

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

Вираз

Опис

=DLookup("[Контакт]"; "[Постачальники]"; "[Ідентифікатор постачальника] = " & Forms("Постачальники")("[Ідентифікатор постачальника]"))

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

=DLookup("[Контакт]"; "[Постачальники]"; "[Ідентифікатор постачальника] = " & Forms![Нові постачальники]![Ідентифікатор постачальника])

За допомогою функції DLookup повертає значення поля "Контакт" у таблиці "Постачальники", якщо значення поля "Ідентифікатор постачальника" в таблиці збігається зі значенням елемента керування "Ідентифікатор постачальника" у формі "Нові постачальники".

=DSum("[Обсяг замовлення]"; "[Замовлення]"; "[Ідентифікатор клієнта] = 'RATTC'")

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

=DCount("[Списані]";"[Активи]";"[Списані]=Так")

За допомогою функції DCount повертає кількість значень "Так" у полі "Списані" (поле типу "Так/Ні") у таблиці "Активи".

Вирази, які виконують операції над датами й обчислюють їх

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

Вираз

Опис

=Date()

За допомогою функції Date відображає поточну дату у форматі дд.мм.рррр, де дд – це день (1–31), мм – це місяць (1–12), а рррр – це рік (1980–2099).

=Format(Now(); "ww")

За допомогою функції Format відображає номер тижня в поточному році, де ww має значення від 1 до 53.

=DatePart("yyyy"; [Дата замовлення])

За допомогою функції DatePart відображає чотиризначне значення року з елемента керування "Дата замовлення".

=DateAdd("y"; -10; [Планова дата])

За допомогою функції DateAdd відображає дату, яка передує значенню елемента керування "Планова дата" на 10 днів.

=DateDiff("d"; [Дата замовлення]; [Дата доставки])

За допомогою функції DateDiff відображає різницю днів між значеннями елементів керування "Дата замовлення" та "Дата доставки".

=[Дата рахунка] + 30

За допомогою арифметичних операцій із датами обчислює дату через 30 днів після дати в полі або елементі керування "Дата рахунка".

Логічні вирази, які повертають одне з двох можливих значень

У прикладах виразів із таблиці нижче використано функцію IIf, щоб повернути одне з двох можливих значень. Функція IIf має три аргументи. Перший аргумент – це вираз, який має повернути значення True або False. Другий аргумент – це значення, яке повертається, якщо вираз істинний, а третій аргумент – це значення, яке повертається, якщо вираз хибний.

Вираз

Опис

=IIf([Підтверджено] = "Так"; "Замовлення підтверджено"; "Замовлення не підтверджено")

За допомогою функції IIf (Immediate If) відображає повідомлення "Запит підтверджено", якщо елемент керування "Підтверджено" має значення Так. В іншому випадку відображає повідомлення "Замовлення не підтверджено".

=IIf(IsNull([Країна або регіон]); " "; [Країна])

За допомогою функцій IIf та IsNull відображає пустий рядок, якщо елемент керування "Країна або регіон" має Null-значення. В іншому випадку відображає значення елемента керування "Країна або регіон".

=IIf(IsNull([Область]); [Місто] & " " & [Поштовий індекс]; [Місто] & " " & [Область] & " " & [Поштовий індекс])

За допомогою функцій IIf та IsNull відображає значення елементів керування "Місто" й "Поштовий індекс", якщо елемент керування "Область" має Null-значення. В іншому випадку відображає значення полів або елементів керування "Місто", "Область" і "Поштовий індекс".

=IIf(IsNull([Потрібна дата]) Or IsNull([Дата доставки]); "Можливо, дату не вказано"; [Потрібна дата] - [Дата доставки])

За допомогою функцій IIf та IsNull відображає повідомлення "Можливо, дату не вказано", якщо різниця потрібної дати й дати доставки є Null-значенням. В іншому випадку відображає інтервал між значеннями дати в елементах керування "Потрібна дата" й "Дата доставки".

На початок сторінки

Приклади виразів у запитах і фільтрах

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

Щоб обмежити записи, з якими ви працюєте, додайте умову до запиту. Наприклад, скориставшись оператором Between, ви можете ввести дати початку й завершення та обмежити результати запиту замовленнями, доставленими в період між цими датами.

У наведених нижче розділах пояснюється, як додати до запиту обчислюване поле, а також наведено приклади виразів для запитів.

Додавання обчислюваного поля в режимі конструктора запиту

  1. В області переходів клацніть правою кнопкою миші запит, який потрібно змінити, і виберіть у контекстному меню пункт Конструктор.

  2. У стовпці, у якому потрібно створити обчислюване поле, клацніть клітинку Поле. Ви можете ввести ім’я поля та двокрапку після нього або ввести вираз. Якщо ви не введете ім’я, програма Access додасть Exprn:, де n – це порядковий номер.

  3. Введіть вираз.

    -або-

    На вкладці Конструктор у групі Настроювання запиту натисніть кнопку Конструктор, щоб запустити побудовник виразів.

    Докладні відомості про використання побудовника виразів див. в статті Створення виразу.

Вирази, які виконують операції над текстом у запиті або фільтрі

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

Вираз

Опис

Повне ім’я: [Ім’я] & " " & [Прізвище]

Створює поле "Повне ім’я", яке відображає значення полів "Ім’я" та "Прізвище" з пробілом між ними.

Адреса2: [Місто] & " " & [Область] & " " & [Поштовий індекс]

Створює поле "Адреса2", яке відображає значення полів "Місто", "Область" і "Поштовий індекс" із пробілами між ними.

Перша буква товару:Left([Назва товару]; 1)

Створює поле "Перша буква товару", а потім за допомогою функції Left відображає в ньому перший символ значення в полі "Назва товару".

Код типу: Right([Код активу]; 2)

Створює поле "Код типу", а потім за допомогою функції Right відображає в ньому останні два символи значень у полі "Код активу".

Код міста: Mid([Телефон];2;3)

Створює поле "Код міста", а потім за допомогою функції Mid відображає в ньому три символи, починаючи з другого символу значення в полі "Телефон".

Вирази, які виконують арифметичні операції в обчислюваних полях

Вирази дають змогу додавати, віднімати, множити й ділити значення з кількох полів або елементів керування. Арифметичні операції також можна виконувати над датами. Наприклад, у вас є поле типу "Дата й час" під назвою "Потрібна дата". Вираз =[Потрібна дата] - 2 повертає значення дати й часу, що на два дні раніше, ніж значення в полі "Потрібна дата".

Вираз

Опис

Підвищена вартість доставки: [Вартість доставки] * 1,1

Створює поле "Підвищена вартість доставки", а потім відображає в ньому вартість доставки плюс 10 відсотків.

Обсяг замовлення: [Кількість] * [Ціна за одиницю]

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

Час випередження: [Потрібна дата] - [Дата доставки]

Створює поле "Час випередження", а потім відображає в ньому різницю значень у полях "Потрібна дата" та "Дата доставки".

Загальна кількість запасів: [Одиниць на складі]+[Одиниць замовлено]

Створює поле "Загальна кількість запасів", а потім відображає в ньому суму значень у полях "Одиниць на складі" та "Одиниць замовлено".

Відсоток вартості доставки: Sum([Вартість доставки])/Sum([Проміжний підсумок]) *100

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

Щоб скористатися цим виразом, знадобиться перетворити вибірковий запит на запит підсумків, тому що вам потрібно використовувати рядок Усього на бланку та задати значення Вираз для клітинки Усього цього поля.

Докладні відомості про створення запиту підсумків див. в статті Обчислення суми даних із використанням запиту.

Якщо для властивості Формат поля задано значення Відсотковий, приберіть частину *100.

Докладні відомості про використання агрегатних функцій і підсумовування значень у полях і стовпцях див. в статтях Обчислення суми даних із використанням запиту, Обчислення даних із використанням запиту, Підрахування кількості рядків у таблиці даних і Відображення підсумків стовпців у таблиці даних.

Вирази, які виконують операції над датами й обчислюють їх в обчислюваних полях

Майже всі бази даних зберігають і відстежують дати й час. Щоб працювати з датами й часом у програмі Access, потрібно встановити для полів дати й часу в таблицях тип даних "Дата й час". У програмі Access можна виконувати арифметичні обчислення над датами. Наприклад, ви можете обчислити, скільки днів минуло з дати рахунка-фактури, щоб визначити термін дебіторської заборгованості.

Вираз

Опис

Час затримки: DateDiff("d"; [Дата замовлення]; [Дата доставки])

Створює поле "Час затримки", а потім за допомогою функції DateDiff відображає в ньому кількість днів між датою замовлення та датою доставки.

Рік найму: DatePart("yyyy";[Дата найму])

Створює поле "Рік найму", а потім за допомогою функції DatePart відображає в ньому рік, коли найнято кожного працівника.

Мінус тридцять: Date( )- 30

Створює поле "Мінус тридцять", а потім за допомогою функції Date відображає в ньому дату, що на 30 днів передує поточній.

Вирази, які рахують кількість, обчислюють суму й середні значення за допомогою агрегатних функцій SQL або доменних агрегатних функцій

Вирази в таблиці нижче використовують функції SQL (мова структурованих запитів), щоб агрегувати й підсумовувати дані. Ці функції (наприклад, Sum, Count і Avg) часто називають агрегатними.

Окрім звичайних агрегатних функцій, у програмі Access також передбачено "доменні" агрегатні функції, за допомогою яких можна підсумувати або порахувати значення вибірково. Наприклад, ви можете порахувати значення лише в певному діапазоні або взяти значення з іншої таблиці. До доменних агрегатних функцій належать DSum, DCount і DAvg.

Щоб обчислити загальну суму, часто потрібно створити запит підсумків (наприклад, щоб підсумувати значення групи). Щоб увімкнути запит підсумків із бланка запиту, у меню Подання виберіть елемент Підсумки.

Вираз

Опис

Кількість рядків:Count(*)

Створює поле "Кількість рядків", а потім за допомогою функції Count рахує кількість записів у запиті, зокрема записи з пустими полями (з Null-значенням).

Відсоток вартості доставки: Sum([Вартість доставки])/Sum([Проміжний підсумок]) *100

Створює поле "Відсоток вартості доставки", а потім обчислює відсоткове значення платежів за доставку в кожному проміжному підсумку, поділивши суму значень у полі "Вартість доставки" на суму значень у полі "Проміжний підсумок" (у цьому прикладі використовується функція Sum).

Примітка : Цей вираз потрібно використовувати із запитом підсумків. Якщо для властивості Формат поля задано значення Відсотковий, приберіть частину *100.

Докладні відомості про створення запиту підсумків див. в статті Обчислення суми даних із використанням запиту.

Середня вартість доставки: DAvg("[Вартість доставки]"; "[Замовлення]")

Створює поле "Середня вартість доставки", а потім за допомогою функції DAvg обчислює середню вартість доставки для всіх замовлень, об’єднаних у запиті підсумків.

Вирази для роботи з полями, у яких відсутні дані (поля з Null-значеннями)

Наведені тут вирази працюють із полями, у яких потенційно відсутні відомості, наприклад, які містять Null-значення (невідомі або невизначені значення). Ви часто стикаєтеся з Null-значеннями: це може бути невідома ціна нового товару або значення, яке ваші колеги забули додати до замовлення. Можливість знаходити й обробляти Null-значення може бути критично важливою частиною операцій баз даних, а вирази в наведеній нижче таблиці демонструють деякі з поширених способів обробки Null-значень.

Вираз

Опис

Поточна країна або регіон:IIf(IsNull([Країна або регіон]); " "; [Країна або регіон])

Створює поле "Поточна країна або регіон", а потім за допомогою функцій IIf та IsNull відображає пустий рядок у цьому полі, якщо поле "Країна або регіон" містить Null-значення. В іншому випадку відображає вміст поля "Країна або регіон".

Час випередження: =IIf(IsNull([Потрібна дата]) - ([Дата доставки]); "Можливо, дату не вказано"; [Потрібна дата] - [Дата доставки])

Створює поле "Час випередження", а потім за допомогою функцій IIf та IsNull відображає повідомлення "Можливо, дату не вказано", якщо поле "Потрібна дата" або "Дата доставки" має Null-значення. В іншому випадку відображає різницю дат.

Продажі за півріччя: Nz([Продажі за I квартал]) + Nz([Продажі за II квартал])

Створює поле "Продажі за півріччя", а потім відображає в ньому підсумок значень у полях "Продажі за I квартал" і "Продажі за II квартал", спершу перетворивши всі Null-значення на нуль за допомогою функції Nz.

Вираз, який створює обчислюване поле за допомогою підзапиту

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

Вираз

Опис

Категорія: (SELECT [Ім’я категорії] FROM [Категорії] WHERE [Товари].[Ідентифікатор категорії]=[Категорії].[Ідентифікатор категорії])

Створює поле "Категорія", а потім відображає в ньому ім’я категорії, якщо ідентифікатор категорії в таблицях "Категорії" та "Товари" однаковий.

Вирази, які визначають умови й обмеження для записів у наборі результатів

За допомогою виразу можна визначити умови для запиту. Тоді програма Access поверне лише ті рядки, які відповідають указаним умовам. Вказівки в цьому розділі надають основні відомості про додавання умов до запиту, а таблиці містять приклади умов, які відповідають текстовим значенням і датам.

Додавання умов до запиту

  1. В області переходів клацніть правою кнопкою миші запит, який потрібно змінити, і виберіть у контекстному меню пункт Конструктор Зображення кнопки .

  2. На бланку в рядку Критерії клацніть клітинку в потрібному стовпці та введіть умову.

    Якщо потрібна більша область, у якій можна ввести вираз, натисніть клавіші Shift+F2, щоб відобразити вікно Масштаб.

    -або-

    На вкладці Конструктор у групі Настроювання запиту натисніть кнопку Конструктор Зображення кнопки , щоб запустити побудовник виразів і створити вираз.

Примітка : Створюючи вирази для умов, не ставте перед виразом оператор =.

Докладні відомості про використання побудовника виразів див. в статті Створення виразу.

Вирази, які повністю або частково відповідають текстовим значенням

Приклади виразів у цій таблиці демонструють умови, які повністю або частково відповідають текстовим значенням.

Поле

Вираз

Опис

Місто доставки

"Київ"

Відображає замовлення, доставлені до Києва.

Місто доставки

"Київ" Or "Біла Церква"

За допомогою оператора Or відображає замовлення, доставлені до Києва або Білої Церкви.

Країна або регіон доставки

In("Польща"; "Україна")

За допомогою оператора In відображає замовлення, доставлені до Польщі або України.

Країна або регіон доставки

Not "Росія"

За допомогою оператора Not відображає замовлення, доставлені до всіх країн або регіонів, окрім Росії.

Назва товару

Not Like "С*"

За допомогою оператора Not і символу узагальнення * відображає товари, назви яких не починаються з букви С.

Назва компанії

>="Н"

Відображає замовлення, доставлені до компаній, назви яких починаються з букв від Н до Я.

Код товару

Right([Код товару]; 2)="99"

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

Отримувач

Like "С*"

Відображає замовлення, доставлені до клієнтів, імена яких починаються з букви С.

Вирази, які використовують дати у відповідних умовах

Вирази в таблиці нижче демонструють використання дат і пов’язаних функцій у виразах умов.

Докладні відомості про введення та використання значень дат див. в статті Введення значення дати або часу. Щоб отримати відомості про функції, використані в цих прикладах виразів, клацніть посилання на ці функції.

Поле

Вираз

Опис

Дата доставки

#02.02.2007#

Відображає замовлення, доставлені 2 лютого 2007 р.

Дата доставки

Date()

Відображає замовлення, доставлені сьогодні.

Потрібна дата

Between Date( ) And DateAdd("m"; 3; Date( ))

За допомогою оператора Between…And і функцій DateAdd і Date відображає замовлення на тримісячний період від сьогоднішньої дати.

Дата замовлення

< Date( ) - 30

За допомогою функції Date відображає замовлення, зроблені більше 30 днів тому.

Дата замовлення

Year([Дата замовлення])=2007

За допомогою функції Year відображає замовлення, зроблені в 2007 р.

Дата замовлення

DatePart("q"; [Дата замовлення])=4

За допомогою функції DatePart відображає замовлення за четвертий календарний квартал.

Дата замовлення

DateSerial(Year ([Дата замовлення]), Month([Дата замовлення])+1; 1)-1

За допомогою функцій DateSerial, Year та Month відображає замовлення за останній день кожного місяця.

Дата замовлення

Year([Дата замовлення])= Year(Now()) And Month([Дата замовлення])= Month(Now())

За допомогою функцій Year та Month і оператора And відображає замовлення за поточний рік і місяць.

Дата доставки

Between #05.01.2007# And #10.01.2007#

За допомогою оператор Between…And відображає замовлення, доставлені не раніше 5 січня 2007 р. та не пізніше 10 січня 2007 р.

Потрібна дата

Between Date( ) And DateAdd("М"; 3; Date( ))

За допомогою оператора Between…And відображає замовлення на тримісячний період від сьогоднішньої дати.

Дата народження

Month([Дата народження])=Month(Date())

За допомогою функцій Month і Date відображає працівників, дні народження яких припадають на цей місяць.

Вирази, які відповідають відсутньому значенню (Null-значенню) або рядку нульової довжини

Вирази в таблиці нижче мають справу з полями, які містять потенційно відсутні дані, тобто полями, які можуть містити Null-значення або рядок нульової довжини. Null-значення позначає відсутність інформації. Це не нуль і ніяке інше значення. Програма Access підтримує поняття відсутньої інформації, тому що це важливо для цілісності бази даних. У реальному світі ми часто чогось не знаємо, навіть якщо це лише тимчасово (наприклад, поки що не визначену ціну на новий товар). Таким чином, у базі даних, яка моделює реальну сутність, як-от компанію, має бути змога записувати дані як відсутні. Щоб дізнатися, чи поле або елемент керування містить Null-значення, можна скористатися функцією IsNull, а щоб перетворити Null-значення на нуль – функцією Nz.

Поле

Вираз

Опис

Регіон доставки

Is Null

Відображає замовлення для клієнтів, для яких поле "Регіон доставки" має Null-значення (пусте).

Регіон доставки

Is Not Null

Відображає замовлення для клієнтів, для яких поле "Регіон доставки" має якесь значення.

Факс

""

Відображає замовлення для клієнтів, які не мають факсимільного пристрою, що позначено значенням рядка нульової довжини в полі "Факс", а не Null-значенням (відсутнім значенням).

Вирази, які підбирають записи за допомогою шаблонів

Оператор Like дуже зручний, коли потрібно підібрати рядки за певним шаблоном, тому що з цим оператором можна використовувати символи узагальнення та визначити шаблони, з якими має звірятися програма Access. Наприклад, символ узагальнення * (зірочка) відповідає послідовності символів будь-якого типу та дає змогу знайти всі імена, які починаються з певної букви. Наприклад, за допомогою виразу Like "С*" ви можете знайти всі імена, які починаються з букви С.

Докладні відомості див. в статті Оператор Like.

Поле

Вираз

Опис

Отримувач

Like "С*"

Знаходить усі записи в полі "Отримувач", які починаються з букви С.

Отримувач

Like "*імпорт"

Знаходить усі записи в полі "Отримувач", які закінчуються словом "імпорт".

Отримувач

Like "[A-Г]*"

Знаходить усі записи в полі "Отримувач", які починаються з букви А, Б, В або Г.

Отримувач

Like "*но*"

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

Отримувач

Like "Богдан Козя?"

Знаходить усі записи в полі "Отримувач", які містять слово "Богдан", після якого йде рядок із п’яти букв, перші чотири з яких – це "Козя", а остання буква не відома.

Отримувач

Not Like "А*"

Знаходить усі записи в полі "Отримувач", які не починаються з букви А.

Вирази, які підбирають рядки на основі результату доменної агрегатної функції

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

Поле

Вираз

Опис

Вартість доставки

> (DStDev("[Вартість доставки]"; "Замовлення") + DAvg("[Вартість доставки]"; "Замовлення"))

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

Кількість

> DAvg("[Кількість]"; "[Дані замовлення]")

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

Вирази, які підбирають рядки на основі результатів підзапитів

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

Поле

Вираз

Відображення

Ціна за одиницю

(SELECT [Ціна за одиницю] FROM [Товари] WHERE [Назва товару] = "Анісовий сироп")

Товари з такою ж ціною, що й анісовий сироп.

Ціна за одиницю

>(SELECT AVG([Ціна за одиницю]) FROM [Товари])

Товари, ціна за одиницю яких вища середньої.

Оклад

> ALL (SELECT [Оклад] FROM [Працівники] WHERE ([Посада] LIKE "*Керівник*") OR ([Посада] LIKE "*Віце-президент*"))

Оклад кожного торгового представника, чий оклад перевищує оклад усіх працівників зі словом "Керівник" або "Віце-президент" у посаді.

Вартість замовлення: [Ціна за одиницю] * [Кількість]

> (SELECT AVG([Ціна за одиницю] * [Кількість]) FROM [Дані замовлення])

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

Вирази, які використовуються в запитах на оновлення

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

Докладні відомості про створення запитів на оновлення див. в статті Створення й виконання запиту на оновлення.

Поле

Вираз

Результат

Посада

"Торговий представник"

Змінює текстове значення на "Торговий представник".

Початок проекту

#10.08.2007#

Змінює значення дати на 10 серпня 2007 р.

Списані

Так

У полі типу "Так/Ні" змінює значення "Ні" на "Так".

Номер партії

"НП" & [Номер партії]

Додає "НП" до початку номера кожної вказаної партії.

Підсумок для позиції

[Ціна за одиницю] * [Кількість]

Множить ціну за одиницю товару на кількість.

Вартість доставки

[Вартість доставки] * 1,5

Збільшує вартість доставки на 50 відсотків.

Продажі

DSum("[Кількість] * [Ціна за одиницю]";
"Дані замовлення"; "[Ідентифікатор товару]=" & [Ідентифікатор товару])

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

Поштовий індекс доставки

Right([Поштовий індекс доставки]; 5)

Видаляє крайні ліві символи, залишаючи п’ять символів праворуч.

Ціна за одиницю

Nz([Ціна за одиницю])

Замінює Null-значення (невизначене або невідоме) у полі "Ціна за одиницю" на нуль (0).

Вирази, які використовуються в SQL-операторах

Мова структурованих запитів, або SQL, – це мова запитів, що використовується в програмі Access. Кожен запит, створений у режимі конструктора запиту, можна виразити за допомогою мови SQL. Щоб переглянути SQL-оператор для будь-якого запиту, у меню Подання виберіть елемент Режим SQL. У таблиці нижче показано приклади SQL-операторів із виразами.

SQL-оператор із виразом

Результат

SELECT [Ім’я],[Прізвище] FROM [Працівники] WHERE [Прізвище]="Паляниця"

Відображає значення в полях "Ім’я" та "Прізвище" для працівників із прізвищем "Паляниця".

SELECT [Ідентифікатор товару],[Назва товару] FROM [Товари] WHERE [Ідентифікатор категорії]=Forms![Нові товари]![Ідентифікатор категорії];

Відображає значення в полях "Ідентифікатор товару" та "Назва товару" в таблиці "Товари" для записів, у яких значення "Ідентифікатор категорії" відповідає значенню "Ідентифікатор категорії" з відкритої форми "Нові товари".

SELECT Avg([Розширена ціна]) AS [Середня розширена ціна] FROM [Додаткові відомості про замовлення] WHERE [Розширена ціна]>1000;

Обчислює середню розширену ціну для замовлень, у яких значення поля "Розширена ціна" перевищує 1000, а потім відображає її в полі під назвою "Середня розширена ціна".

SELECT [Ідентифікатор категорії], Count([Ідентифікатор товару]) AS [Кількість ідентифікаторів товару] FROM [Товари] GROUP BY [Ідентифікатор категорії] HAVING Count([Ідентифікатор товару])>10;

У полі "Кількість ідентифікаторів товару" відображає загальну кількість товарів для категорій, у яких більше 10 товарів.

На початок сторінки

Приклади виразів для стандартних значень

Створюючи базу даних, можна призначити стандартне значення для поля або елемента керування. Тоді, коли буде створено новий запис із цим полем або об’єкт із цим елементом керування, програма Access надаватиме вказане стандартне значення. У таблиці нижче наведено приклади виразів стандартних значень для поля або елемента керування.

Додавання стандартного значення для поля в таблиці

  1. В області переходів клацніть правою кнопкою миші таблицю, яку потрібно змінити, і виберіть у контекстному меню пункт Конструктор.

  2. Виберіть поле, яке потрібно змінити, і на вкладці Загальні клацніть поле властивості Значення за промовчанням.

  3. Введіть вираз або натисніть кнопку Побудувати  Кнопка "Конструктор" праворуч у полі властивості, щоб створити вираз за допомогою побудовника виразів.

Якщо елемент керування прив’язано до поля в таблиці, а поле має стандартне значення, то це стандартне значення елемента керування має перевагу.

Поле

Вираз

Стандартне значення поля

Кількість

1

1

Регіон

"Закарпаття"

Закарпаття

Регіон

"Сумська обл."

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

Факс

""

Рядок нульової довжини вказує, що за замовчуванням це поле має бути пустим, а не містити Null-значення

Дата замовлення

Date( )

Поточна дата

Термін

Date() + 60

Дата через 60 днів після сьогоднішньої

На початок сторінки

Приклади виразів правила перевірки для поля

За допомогою виразу можна створити правило перевірки для поля або елемента керування. Тоді програма Access застосовуватиме це правило, коли в поле або елемент керування вводитимуться дані. Щоб створити правило перевірки, потрібно змінити властивість Правило перевірки поля або елемента керування. Також радимо задати властивість Текст перевірки, яка містить текст, що відображається в разі порушення правила перевірки. Якщо не вказати властивість Текст перевірки, програма Access відображатиме стандартне повідомлення про помилку.

Додавання правила перевірки до поля

  1. В області переходів клацніть правою кнопкою миші таблицю, яку потрібно змінити, і виберіть у контекстному меню пункт Конструктор.

  2. Клацніть поле, яке потрібно змінити.

  3. Клацніть поле властивості Правило перевірки, розташоване в нижній частині конструктора таблиці.

  4. Введіть вираз або натисніть кнопку Побудувати  Кнопка "Конструктор" праворуч у полі властивості, щоб створити вираз за допомогою побудовника виразів.

    Примітка : Створюючи правило перевірки, не ставте перед виразом оператор =.

Приклади в наведеній нижче таблиці демонструють вирази правил перевірки для властивості Правило перевірки та пов’язаний текст для властивості Текст перевірки.

Властивість "Правило перевірки"

Властивість "Текст перевірки"

<> 0

Введіть ненульове значення.

0 Or > 100

Значення має дорівнювати 0 або бути більше 100.

Like "К???"

Значення має складатися з чотирьох символів і починатися з букви К.

< #01.01.2007#

Введіть дату до 01.01.2007.

>= #01.01.2007# And < #01.01.2008#

Дата має бути в 2007 році.

Докладні відомості про перевірку даних див. в статті Створення правила перевірки для перевірки даних у полі.

На початок сторінки

Приклади виразів умови макросу

Інколи потрібно виконати дію або послідовність дій у макросі, лише якщо певна умова істинна. Припустімо, наприклад, що дію потрібно запускати, лише якщо значення текстового поля "Лічильник" дорівнює 10. Щоб визначити умову, потрібно в макросі в стовпці Умова скористатися виразом: [Лічильник]=10.

Додавання умови для дії макросу

  1. В області переходів клацніть правою кнопкою миші макрос, який потрібно змінити, і виберіть у контекстному меню пункт Конструктор.

  2. Якщо стовпець Умова відсутній у бланку макросу, виберіть вкладку Конструктор, а потім у групі Відобразити або приховати натисніть кнопку Умови.

  3. Клацніть клітинку Умова для дії макросу, яку потрібно змінити, а потім введіть логічний вираз.

  4. Збережіть зміни та закрийте макрос.

Вираз стовпця Умова, як і властивість Правило перевірки, є логічним виразом. Його результатом може бути значення True або False. Дія відбувається, лише коли умова повертає значення True.

Вираз для виконання дії

Умова

[Місто]="Одеса"

Одеса – це значення міста в полі форми, з якої запущено макрос.

DCount("[Ідентифікатор замовлення]"; "Замовлення") > 35

У полі "Ідентифікатор замовлення" таблиці "Замовлення" міститься більше 35 записів.

DCount("*"; "[Дані замовлення]"; "[Ідентифікатор замовлення]=" & Forms![Замовлення]![Ідентифікатор замовлення]) > 3

У таблиці "Дані замовлення" є більше трьох записів, для яких поле "Ідентифікатор замовлення" таблиці відповідає полю "Ідентифікатор замовлення" у формі "Замовлення".

[Дата доставки] Between #02.02.2007# And #02.03.2007#

Значення поля "Дата доставки" у формі, з якої запущено макрос, входить у період від 2 лютого 2007 р. до 2 березня 2007 р.

Forms![Товари]![Одиниць на складі] < 5

Значення поля "Одиниць на складі" у формі "Товари" менше за 5.

IsNull([Ім’я])

Поле "Ім’я" у формі, з якої запущено макрос, має Null-значення (значення відсутнє). Цей вираз еквівалентний виразу: [Ім’я] Is Null.

[Країна або регіон]="Україна" And Forms![Загальний обсяг продажів]![Усього замовлень] > 100

Поле "Країна або регіон" у формі, з якої запущено макрос, має значення "Україна", а значення поля "Усього замовлень" у формі "Загальний обсяг продажів" перевищує 100.

[Країна або регіон] In ("Франція"; "Італія"; "Іспанія") And Len([Поштовий індекс])<>5

Поле "Країна або регіон" у формі, з якої запущено макрос, має значення "Франція", "Італія" або "Іспанія", а поштовий індекс не складається з 5 символів.

MsgBox("Підтверджуєте зміни?";1)=1

У діалоговому вікні, яке відобразить функція MsgBox, натисніть кнопку OK. Якщо в цьому діалоговому вікні натиснути кнопку Скасувати, програма Access пропустить дію.

Примітка : Щоб програма Access тимчасово ігнорувала дію, введіть умову False. Це може стати в пригоді, коли ви шукатимете помилки в макросі.

На початок сторінки

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

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

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

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

×