Null – записи які не мають значень у даному полі (не були введені);
=, <>, <, > – операції відношення: дорівнює, не дорівнює, менше, більше;
*, /, +, -, ^ – арифметичні операції: множення, ділення, додавання, віднімання, піднесення до степеня.
У СУБД MS Access допустимі чотири типи виразів: арифметичні, літерні, логічні і дати. Тип виразу визначається значенням, яке ми одержуємо після його обчислення.
Не можна використовувати в одному виразі дані різних типів, наприклад, в арифметичному виразі не можна помножити слово “Вольтметр” на кількість приладів. В логічному виразі не можна порівнювати число і дату або два поля, одне з яких має тип дати, а друге – числовий тип.
До складу виразу можуть входити:
константи;
оператори;
імена полів і таблиць;
групові операції;
функції;
імена обчислювальних полів (розташованих, наприклад, на формі);
фігурні, квадратні і круглі дужки.
У виразах імена полів і таблиць беруться в квадратні дужки. Якщо у виразі використовуються поля з різних таблиць, то ім’я такого поля доповнюється спереду іменем таблиці і відділяється від нього крапкою. В логічних виразах допустиме опускання знака = (дорівнює), якщо він має стояти на початку виразу. Наприклад, в умові відбору записів, вирази: =23 і 23 є ідентичними. Літерні константи (текст) в літерних виразах беруться в подвійні лапки. Замість частини тексту в літерних виразах використовується символ * (зірочка). Після імені функції записуються її аргументи, які обов’язково беруться в круглі дужки. Якщо якась функція не має аргументів, то круглі дужки (відкрита і закрита) опускаються або застосовуються без аргументів, наприклад, Date() або Date – видача системної дати. Вирази будуються за правилами мови Visual Basic for Application.
Є можливість виклику Будівельника виразів за допомогою команди Побудувати, розташованого на панелі інструментів вікна MS Access, або контекстного меню, його вікно показано на рисунку 3.2. Для використання Будівельника виразів необхідно встановити курсор у те поле (наприклад, запиту), де має бути розміщений вираз, і викликати його. Після цього можна вибирати та заносити у спеціальне поле будь-які об’єкти, з яких складається формула. На рисунку 3.2 показано перенесену в це спеціальне поле (зверху вікна) функцію експоненти. Зрозуміло, що поле формули необхідно ще редагувати, наприклад, занести в дужки функції exp() аргумент замість слова “number”. Після закінчення роботи з будівельником вираз переноситься в те поле, звідки відбувався виклик.
Будівельником виразів можна користуватися з метою одержання довідки, для цього необхідно відзначити його об’єкт (наприклад, ім’я функції) і вибрати Довідку.
Для створення нового запиту необхідно у вікні База даних встановити перемикач на Запити і виконати команду Створити. Після цих дій відкривається вікно Новий запит, яке має п’ять перемикачів. Серед них варто використовувати Конструктор для простого запиту і Перехресний запит – для перехресного. Після натискання кнопки Ok відкривається відповідне цим перемикачам вікно Запит у режимі конструктора. На його фоні повинно знаходитися вікно Додавання таблиці, показане на рис. 3.1. Якщо воно відсутнє (наприклад, через ненавмисне закриття), то його можна викликати командою Додати таблицю з вікна MS Access, подібно до того, як це робиться при встановленні зв’язків між таблицями (про це говорилося вище), або за допомогою контекстного меню. При цьому курсор повинен знаходитися на верхньому чистому полі запиту.
Вікно простий Запит в режимі конструктора показано на рис. 3.3. Воно має три частини: верхню, середню і нижню. У верхній знаходяться макети таблиць, у середній – імена полів, перенесених з цих таблиць, у нижній – імена таблиць, умови сортування , групові операції та умови відбору записів.
Новий запит в режимі конструктора створюється в три етапи:
занесення таблиць та інших запитів у верхнє поле запиту;
перенесення в запит полів з таблиць;
занесення виразів у нижню частину вікна запиту.
3.3 Приклади побудови запитів
Виготовлення запиту для діаграми. Назвемо запит Oplaty_zd – запит для діаграми. Цей та інші наші запити базуються на таблиці Oplaty_t, тому їхня назва починається з слова Oplaty.
Він мав би містити всього два поля – згруповані номери місяців та cумарну кількість операцій за кожний місяць. Оскільки діаграма має відображати інформацію лише за останній рік, у запит внесено ще третє поле – для років. Тому з таблиці Oplaty_t перенесемо в середню частину запиту три поля: Suma, Data і Data. Перед полем Suma у запиті зробимо напис Kilkist: (з двокрапкою), бо ми в цьому полі надіємося мати іменно кількість, цей напис стане іменем даного поля запиту. Для даного випадку (для підрахунку кількості записів) не має значення яке поле вносити, можна було і дату. До полів з датами застосуємо функції виділення номера місяця і року, отже, додамо імена відповідних функцій, тоді ці поля приймуть вигляд, відповідно:
Month([Data]) i Year([Data]).
Дочекаємося, коли конструктор надасть цим полям назви: Выражение1: і Выражение2: (з двокрапками) – для цього необхідно перенести курсор у інше поле запиту, та замінимо ці абстрактні імена на, відповідно, Misjac і Rik.
Для виклику рядка Групова операція скористаємося командою Групування з вікна MS Access або контекстного меню, її кнопка має вигляд букви У. При цьому курсор повинен бути встановленим у нижній частині вікна запиту. У полі Kilkist цього рядка виберемо з кишеньки групову операцію Count – підрахунок кількості записів. У полі Rik рядка Умова відбору запишемо вираз Year(Date()) – рік поточної системної дати. Закриємо запит, запишемо його ім’я Oplaty_zd і запит готовий.
Відкривши запит з