Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Використовуючи Microsoft Access, вам часто потрібно працювати зі значеннями, не розташованими безпосередньо у ваших даних. Наприклад, ви хочете розрахувати податок зі збуту для замовлення або обчислити загальну суму самого замовлення. Це можна зробити за допомогою виразів. Щоб використовувати вирази, їх потрібно записати з правильним синтаксисом. Синтаксис – це набір правил, за якими слова й символи у виразі правильно поєднуються. Значення виразів в Access спочатку буває складно зрозуміти. Однак коли ви розумітимете синтаксис виразів і трохи попрактикуєтесь, вам стане значно легше.

У цій статті

Огляд виразів

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

компоненти виразу

Наприклад, цей вираз містить типові компоненти:

=Sum([Purchase Price])*0.08 
  • Sum() – вбудована функція

  • [Purchase Price] – ідентифікатор

  • * – математичний оператор

  • 0.08 – константа

Цей вираз можна використовувати в текстовому полі в нижньому колонтитулі форми або звіту, щоб наводити податок зі збуту для групи елементів.

Вирази можуть бути набагато складніші або простіші, ніж у наведеному прикладі. Наприклад, такий Логічне значення вираз складається лише з одного оператора й однієї константи:

>0

Цей вираз повертає:

  • значення True в разі порівняння з числом, більшим за 0;

  • значення False у разі порівняння з числом, меншим за 0.

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

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

Компоненти виразів

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

  • Ідентифікатори    Зазвичай мають таку форму:

    [Collection name]![Object name].[Property name]

    Потрібно лише вказати достатню кількість частин ідентифікатора, щоб зробити його унікальним у контексті вашого виразу. Ідентифікатор часто має форму [Object name].

  • Функції    Зазвичай мають таку форму:

    Function(argument, argument)

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

  • Оператори    Зазвичай мають таку форму:

    Identifier operator identifier

    Для цієї форми є винятки, які докладно описано в розділі Оператори.

  • Константи    Зазвичай мають таку форму:

    Identifier comparison_operator  constant
  • Значення    Можуть міститися в багатьох частинах виразу.

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

Об’єкти, колекції та властивості

Усі таблиці, запити, форми, звіти й поля в базі даних Access окремо називаються об’єктами. Кожен об’єкт має ім’я. Деякі об’єкти вже отримали ім’я, наприклад, таблиця "Контакти" в базі даних, створена із шаблона "Контакти" Microsoft Office Access. Створюючи новий об’єкт, ви повинні його назвати.

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

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

На схемі нижче показано зв’язок між колекціями, об’єктами та властивостями.

Зв’язки між колекціями, об’єктами та властивостями

3 Властивість

2 Об’єкт

1 Колекція

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

Ідентифікатори

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

[Customers]![BirthDate]

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

В інших випадках для посилання на роботу потрібно чітко вказати частини ідентифікатора. Це відбувається, якщо ідентифікатор не унікальний у контексті виразу. Якщо є неоднозначність, необхідно чітко позначити достатньо частин ідентифікатора, щоб зробити його унікальним у контексті. Наприклад, ви створюєте запит, який використовує таблицю "Товари" та таблицю "Замовлення", і обидві таблиці мають поле "Ідентифікатор товару". У такому разі ідентифікатор, який використовується в запиті для посилання на будь-яке поле ProductID , має містити ім'я таблиці на додачу до імені поля. Наприклад:

[Products]![ProductID]

Оператори ідентифікатора    В ідентифікаторі можна використовувати три оператори:

  • знак оклику (!);

  • крапку (.)

  • квадратні дужки ([ ]).

Ці оператори використовуються таким чином: кожна частина ідентифікатора береться у квадратні дужки, які потім поєднуються за допомогою знака оклику або крапки. Наприклад, ідентифікатор для поля "Прізвище" в таблиці "Працівники" може мати такий вигляд: [Employees]![Last Name]. Знак оклику повідомляє Access, що після нього вказано об’єкт, який належить до колекції сайтів, указаної перед знаком оклику. У цьому прикладі [Прізвище] – це об’єкт поля, що належить до колекції [Працівники], яка сама є об’єктом таблиці.

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

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

Функції, оператори, константи та значення

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

Функції

Функція – це процедура, яку можна використовувати у виразі. Деякі функції, наприклад Date, можуть працювати без вхідних даних. Однак для більшості функцій потрібно вводити дані, які називаються аргументами.

У прикладі, наведеному на початку цієї статті, у функції DatePart використовуються два аргументи: аргумент "інтервал" зі значенням "yyyy" і аргумент "дата", який має значення [Customers]![BirthDate]. Для функції DatePart потрібно вказати принаймні ці два аргументи ("інтервал" і "дата"), але можна вказати до чотирьох аргументів.

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

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

    =Date()
  • Функція DatePart використовується, щоб визначати або видобувати частину дати. Зазвичай це дата, отримана з ідентифікатора поля, але іноді це значення дати, повернуте іншою функцією, наприклад Date.

    DatePart ( "yyyy", Date())
  • Функція DateDiff використовується, щоб визначати різницю між двома датами, зазвичай між датою, отриманою з ідентифікатора поля, і датою, отриманою за допомогою функції Date.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Функція Format використовується, щоб застосувати формат до ідентифікатора, а також до результатів іншої функції.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • Функція IIf оцінює вираз як "Істина" або "Хибність", а потім повертає одне значення, якщо вираз має значення "Істина", або інше, якщо – "Хибність".

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Функція InStr використовується для пошуку розташування символу або рядок в іншому рядку. Рядок, який шукається, зазвичай отримується з ідентифікатора поля.

    InStr(1,[IPAddress],".")
  • Функції Left, Mid і Right використовуються, щоб видобувати символи з рядка, починаючи з крайнього лівого символу (Left), певної позиції всередині рядка (Mid) або крайнього правого символу (Right). Вони зазвичай використовуються з функцією InStr. Рядок, з якого ці функції видобувають символи, зазвичай отримується з ідентифікатора поля.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Список функцій див. в статті Функції (за категоріями).

Оператори

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

  • арифметичні оператори, наприклад знак плюс (+);

  • оператори порівняння, наприклад знак рівності (=);

  • логічні оператори, наприклад Not;

  • оператори злиття, наприклад &;

  • спеціальні оператори, наприклад Like.

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

Арифметичні оператори    

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

Оператор

Призначення

Приклад

+

Сума двох чисел.

[Проміжний_підсумок] + [Податок_зі_збуту]

-

Визначення різниці між двома числами або позначення від’ємного значення числа.

[Ціна]-[Знижка]

*

Множення двох чисел.

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

/

Ділення першого числа на друге.

[Підсумок]/[Кількість_позицій]

\

Округлення обох чисел до цілих чисел, ділення першого на друге та скорочення результату до цілого числа.

[Зареєстровано]\[Номери]

Mod

Ділення першого числа на друге й повернення лише остачі.

[Зареєстровано] Mod [Номери]

^

Піднесення числа до степеня.

Число ^ Степінь

Оператори порівняння    

Оператори порівняння використовуються, щоб порівнювати значення, і повертають результат "Істина", "Хибність" або Null-значення (якщо значення невідоме).

Оператор

Призначення

<

Визначає, чи перше значення менше за друге.

<=

Визначає, чи перше значення менше за друге або рівне йому.

>

Визначає, чи перше значення більше за друге.

>=

Визначає, чи перше значення більше за друге або рівне йому.

=

Визначає, чи перше значення дорівнює другому.

<>

Визначає, чи перше значення не дорівнює другому.

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

Логічні оператори    

Логічні оператори використовуються, щоб об'єднувати два значення та повертати результат true, false або Null. Також можуть відображатися логічні оператори, які називаються логічними операторами.

Оператор

Використання

Опис

And

вираз1 And вираз2

"Істина", якщо вираз1 і вираз2 істинні.

Or

вираз1 Or вираз2

"Істина", якщо істинний один із виразів: вираз1 або вираз2.

Eqv

вираз1 Eqv вираз2

"Істина", якщо істинні або хибні обидва вирази: вираз1 і вираз2.

Not

Not вираз

"Істина", якщо вираз не істинний.

Xor

вираз1 Xor вираз2

"Істина", якщо істинний лише вираз1 або лише вираз2, але не обидва.

Оператори злиття    

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

Оператор

Використання

Опис

&

рядок1 & рядок2

Поєднання двох рядків в один.

+

рядок1 + рядок2

Поєднання двох рядків в один і розповсюдження Null-значень.

Спеціальні оператори    

Використання спеціальних операторів описано в таблиці нижче.

Оператор

Опис

Додаткові відомості

Is Null or Is Not Null

Визначає, чи дорівнює величина Null-значенню.

Like "pattern"

Зіставляє значення-рядки, використовуючи оператори-символи узагальнення ? та *.

Оператор Like

Between val1 And val2

Визначає, чи належить числове значення або значення дати до діапазону.

Оператор Between…And

In(string1,string2...)

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

Оператор In

Константи

Константа – це відоме значення, що не змінюється, яке можна використовувати у виразі. В Access є чотири константи, які часто використовуються:

  • True Позначає щось логічно істинне.

  • False Позначає щось логічно хибне.

  • Null Позначає невідоме значення.

  • "" (empty string) Указує на значення, про яке відомо, що воно пусте.

Константи можна використовувати як аргументи для функції, і їх можна використовувати у виразі як частину умови. Наприклад, пусту рядкової константу ("") можна використовувати як частину умови для стовпця в запиті, щоб обчислити значення полів для цього стовпця, ввівши умову: <>"". У цьому прикладі <> – це оператор, а "" – константа. Використовуються разом, вони вказують на те, що ідентифікатор, до якого вони застосовуються, слід порівняти з пустим рядком. Вираз, який дає результат, виконується, якщо значення ідентифікатора не пусте.

Будьте уважні, використовуючи константу Null. Здебільшого використання Null у поєднанні з оператором порівняння призводить до помилки. Якщо у виразі потрібно порівняти значення з Null, використовуйте оператор Is Null або Is Not Null.

Значення

У виразах можна використовувати значення-літерали, наприклад число 1254 або рядок "Введіть число від 1 до 10". Можна також використовувати числові значення – послідовності цифр – і за потреби включати знак і десяткову кому. У разі відсутності знака програма Access автоматично сприймає значення як додатне. Щоб зробити значення від’ємним, додайте мінус (). Можна також застосувати експоненціальну нотацію. Для цього додайте "Е" або "е" та знак показника ступеня (наприклад, 1,0Е–6).

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

Наприклад, якщо ввести текст Paris, у виразі відображається "Париж". Якщо вираз має повернути рядок у лапках, візьміть вкладений рядок в одинарні лапки (') або тричі в подвійні лапки ("). Такі вирази будуть еквівалентні:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Щоб використовувати значення дати й часу, перед ними й після них потрібно додати символи дієза (#). Наприклад, #3-7-17#, #7-Бер-17# і #Бер-7-2017# – це все припустимі значення дати й часу. Якщо в Access міститься припустиме значення дати й часу між символами #, воно автоматично обробляється як значення типу даних "Дата й час".

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

65 – обмеження на кількість рівнів вкладення виразів у веб-базі даних

Вирази з кількістю рівнів вкладень, яка перевищує 65, не працюватимуть у браузері, тому такі вирази не слід використовувати у веб-базі даних Access. Ви не отримуватимете повідомлення про помилки, тому що вирази просто не працюватимуть.

Використання операторів &, AND і OR дає змогу створити додаткові рівні вкладення на сервері, однак вони не відображатимуться в клієнті Access. Наприклад, вираз "a" & "b" & "c" не вставляється в побудовнику виразів, але в SharePoint він перетворюється на concatenate.Db("a", concatenate.Db("b", "c") ). Завдяки перекладу створюється один рівень вкладення. Використання багатьох послідовних операторів (&, AND або OR) в одному виразі може призвести до перевищення кількості максимально допустимих вкладень на сервері (65), а тому вираз не працюватиме в браузері.

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

Використання побудовника виразів

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

Побудова виразу

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

Потрібна додаткова довідка?

Потрібні додаткові параметри?

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

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.