HYPERLINK «http://www.ukrreferat.com/» www.ukrreferat.com – лідер
серед рефератних сайтів України!

тема,Система управління базами даних

MICROSOFT ACCESS

Система управління базами даних Microsoft Access відноситься до
реляційних баз даних. На відміну від СУБД Visual FoxPro база даних
Access (фізична структура) міститься в одному файлі з розширенням MDB.
Логічна структура СУБД Access складається з таких об’єктів: таблиць,
запитів, форм, звітів, макросів та модулів. Доступ до цих об’єктів
відбувається за допомогою відповідних вкладинок вікна Access — див. рис.
10.115.

Таблиці, запити, форми та звіти мають таке саме призначення, як і в СУБД
Visual FoxPro (див. розд. 10.2.3, 10.2.10, 10.2.11, 10.2.13).

Макроси призначені для автоматизації задач та погодження роботи різних
об’єктів. Макрос являє собою список команд, які повинні бути виконані
Microsoft ACCESS без участі користувача. Макроси можна використовувати у
формах, звітах, елементах управління, командах меню.

Модулі призначені для створення процедур та функцій мовою Access Basic.

Етапи створення бази даних у середовищі Microsoft Access:

визначення мети створення бази даних;

визначення таблиць, які повинна містити база даних;

визначення структури таблиць (полів та їх типів);

призначення ключів таблиць та створення потрібних індексів;

визначення зв’язків між таблицями;

завантаження даних;

створення інших об’єктів бази даних: запитів, форм, звітів, макросів та
модулів;

аналіз ефективності бази даних за допомогою майстра таблиць (меню
СЕРВИС>АНАЛИЗ>ТАБЛИЦА) та аналізатора швидкодії (меню
СЕРВИС>АНАЛИЗ>БЫСТРОДЕЙСТВИЕ).

в панелі Microsoft Office. На екрані з’явиться вікно (рис. 10.114), в
якому треба задати потрібну операцію — створити або відкрити існуючу
базу даних. Далі на екрані з’явиться вікно Microsoft Access (рис.
10.115).

Рис. 10.114. Початок роботи з Microsoft Access

Рис. 10.115. Вікно Microsoft Access

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

Панелі інструментів одразу після запуску за замовчанням містять лише
панель інструментів БАЗА ДАНИХ. Додаткові панелі інструментів такі, як
для роботи з таблицями, формами, звітами тощо виводяться у відповідному
режимі роботи та можуть додаватися за допомогою меню ВИД>ПАНЕЛИ
ИНСТРУМЕНТОВ.

Створення бази даних виконується за допомогою меню ФАЙЛ>СОЗДАТЬ БАЗУ
ДАННЫХ > або відповідної піктограми на панелі інструментів.

Відкриття бази даних виконується за допомогою меню ФАЙЛ> ОТКРЫТЬ БАЗУ
ДАННЫХ > або відповідної піктограми на панелі інструментів. Далі треба
вибрати потрібний файл типу MDB. Відкриття бази даних автоматично
закриває попередньо відкриту БД.

Закриття бази даних відбувається за допомогою меню ФАЙЛ> ЗАКРЫТЬ.

Робота з таблицями: створення,

редагування, вилучення

Усі дані бази даних зберігаються у таблицях. Так само, як і у Visual
FoxPro, таблиці створюються в два етапи. На першому етапі створюється
структура таблиці, а на другому — вводяться дані.

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

Нарахування заробітної плати (НАРАХОВАНО) при окладній формі оплати
праці виконується за такою формулою: (оклад/кількість робочих днів у
місяці)* кількість відпрацьованих днів. СУМА ДО ВИДАЧІ розраховується як
різниця між нарахованою заробітною платою та прибутковим податком, який
розраховується за такою формулою:

Таким чином, база даних ЗАРОБІТНА ПЛАТА повинна містити такі таблиці:
ТАБЕЛЬ, до якої кожного місяця заносяться дані про кількість
відпрацьованих днів кожним працівником; ПРАЦІВНИКИ — містить відомості
про посади та оклади працівників; РОБОЧІ ДНІ — містить назви місяців та
кількість робочих днів у кожному місяці. Таблицю можна створити у
середовищі Access або додати з іншої бази даних Access, Dbase, Visual
FoxPro, табличного процесора Excel.

Створення таблиці. Вибрати вкладинку Таблицы, натиснути на кнопку
Создать (рис. 10.114) та вибрати метод створення таблиці (рис. 10.116).
Вважаючи, що структура таблиці, яка створена за допомогою майстра або в
режимі таблиці, все одно підлягає редагуванню, розглянемо створення
таблиці у режимі конструктора. Для цього треба у списку вибрати
КОНСТРУКТОР і натиснути на кнопку Оk.

Рис. 10.116. Вікно вибору методу створення таблиць

На екрані з’явиться вікно (рис. 10.117). У графу Имя поля треба ввести
ім’я першого поля таблиці. Ім’я поля не повинно містити більше 64-х
символів, включаючи пропуски, та не повинно містити символ «.».

Рис. 10.117. Вікно конструктора створення таблиць

У графі Тип данных треба задати тип поля. Для цього необхідно розкрити
список (рис. 10.118) та вибрати потрібний тип даних. В Access
застосовуються такі типи даних:

Числовой (NUMBER) — застосовується для числових даних, які
використовуються у формулах. Тип та розмір значень задаються у
властивостях РАЗМЕР ПОЛЯ та ФОРМАТ ПОЛЯ;

Текстовый (TEXT) — застосовується для тексту та чисел (наприклад,
табельний номер), які не використовуються у формулах. Поле цього типу
може містити до 255 символів, за замовчанням — 50. Для визначення
розміру поля треба задати властивість Размер поля;

Рис. 10.118. Типи даних полів таблиці

Поле MEMO — використовується для уведення текстів або чисел довжиною до
64000 символів;

Дата/время (DATE/TIME) — довжина поля 8 байтів;

Денежный — використовується для попередження округлення під час
обчислень. Розмір поля — 8 байтів;

Счетчик (AUTONUMBER) — використовується для автоматичного додавання
номера запису. Якщо властивість поля Новые значения має значення:
Последовательные — виконується додавання числа, яке отримується
збільшенням на одиницю номера попереднього запису; Случайные — для
лічильника генерується випадкове число. Розмір поля — 4 байти;

Логический (YES/NO) — застосовується до полів, що можуть містити тільки
одне з двох значень, такі як ДА/НЕТ, Истина/Ложь, ВКЛ/ВЫКЛ. Розмір поля
— 1 біт;

Поле объекта OLE (OLE OBJECT) — використовується для зв’язування або
впровадження об’єктів (документів MICROSOFT WORD, електронних таблиць
(MICROSOFT EXCEL), рисунків, звуків тощо). Для зображення об’єктів у
формах та звітах необхідно застосовувати елемент управління
Присоединенная рамка объекта. Розмір поля — до 1 гігабайта;

Гиперссылка (HYPERLINK) — застосовується для зберігання гіперпосилання у
вигляді UNC (стандартний формат шляху файла) або URL (адреса об’єкта в
INTERNET або внутрішньої мережі). Розмір поля — до 64000 символів;

Мастер подстановок (LOOKUP WIZARD) — використовується для визначення
поля, за допомогою котрого можна вибрати значення з іншої таблиці або зі
списку значень. Під час вибору даного типу завантажується майстер.

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

Властивість Размер поля визначає максимальний розмір даних типу
Текстовый, Счетчик або Числовой (рис. 10.119).

Рис. 10.119. Можливі значення властивості поля РАЗМЕР ПОЛЯ

Для типу даних Текстовый значенням цієї властивості повинно бути число
від 0 до 255. За замовчанням задається розмір 50. Для типу даних Счетчик
значенням властивості може бути Длинное целое або Код репликации. Для
типу даних Числовой використовуються такі значення властивості:

Длинное целое (значення за замовченням) — числа від

–2147483648 до 2147483647 (4 байти);

Байт — числа від 0 до 255 (1 байт);

Целое — числа від –32768 до 32767 (2 байти);

С плавающей точкой (4 байти): для від’ємних значень — числа від
–3.402823Е38 до –1.401298Е-45; для додатних значень — числа від
1.401298Е-45 до 3.402823Е38. Для дробової частини відводиться 7 знаків;

С плавающей точкой (8 байтів): для від’ємних значень — числа від
–1.79769313486232Е308 до –4.94065645841247Е; для додатних значень —
числа від 1.79769313486231Е308

до 4.94065645841247Е-324. Для дробової частини відводиться 15 знаків;

Код репликации — глобальний унікальний ідентифікатор (GUID) під час
реплікації об’єктів даних (16 байтів).

Властивість Формат поля дозволяє задати формати відображення тексту,
чисел, дат та значень часу на екран та на принтер. Наприклад, для поля
числового типу можна задати один з форматів, які наведені на рис.
10.120.

Після введення структури таблиці необхідно задати ключ запису, який може
складатися з одного поля або сукупності полів. Значення ключового поля
повинно однозначно ідентифікувати запис, а саме, мати унікальне
значення. На рис. 10.121, 10.122 та 10.123 відображено структури таблиць
РОБОЧІ ДНІ, ТАБЕЛЬ та ПРАЦІВНИКИ, у таблицях 6, 7, 8 — властивості
полів, а на

рис. 10.124 — зміст цих таблиць.

Так, у таблиці РОБОЧІ ДНІ ключем повинно бути поле МІСЯЦЬ або НАЗВА
МІСЯЦЯ, в таблиці ПРАЦІВНИКИ — табельний номер. У таблиці ТАБЕЛЬ поле
місяць може містити однакові значення для різних значень поля табельний
номер і навпаки. Але сукупність значень цих полів має унікальне
значення. Тому в таблиці ТАБЕЛЬ можна створити складений ключ із двох
полів.

або вибрати меню Правка/Ключевое поле.

Так само виконується відміна призначення поля ключовим.

Рис. 10.120. Можливі значення властивості поля ФОРМАТ ПОЛЯ для числових
типів даних Рис. 10.121. Структура

таблиці РОБОЧІ ДНІ

Таблиця 6

Ім’я поля Тип даних Властивості

розмір поля формат поля

Місяць ЧИСЛОВОЙ ЦЕЛОЕ

Назва місяця ТЕКСТОВЫЙ 15

Кількість робочих днів

ЦЕЛОЕ

Таблиця 7

Ім’я поля Тип даних Властивості

розмір поля формат поля

Місяць ЧИСЛОВОЙ ЦЕЛОЕ

Табельний номер ЧИСЛОВОЙ ДЛИННОЕ ЦЕЛОЕ

Кількість відпрацьованих днів ЧИСЛОВОЙ ЦЕЛОЕ

Рис. 10.123. Структура таблиці ПРАЦІВНИКИ

Таблиця 8

Ім’я поля Тип даних Властивості

розмір поля формат поля

Табельний номер ЧИСЛОВОЙ ДЛИННОЕ ЦЕЛОЕ

Прізвище ТЕКСТОВЫЙ 20

Посада ТЕКСТОВЫЙ 15

Оклад ЧИСЛОВОЙ С ПЛАВАЮЩЕЙ ТОЧКОЙ (8 байт) ДЕНЕЖНЫЙ

Рис. 10.124. Таблиці ТАБЕЛЬ, ПРАЦІВНИКИ

та РОБОЧІ ДНІ у режимі таблиці

Створення та вилучення індексів. Для ключових полів індекси створюються
автоматично. Не можна індексувати поля з типом даних Гиперссылка, поле
MEMO або Объект OLE. Якщо таблиці зв’язуються не по ключових полях, для
цих полів треба створити індекси. Для швидкого пошуку даних теж бажано
створити індекси по тих полях, по значенням котрих виконується пошук.

Створення індексу для одного поля.

У режимі конструктора вибрати поле.

У панелі властивостей для властивості Индексированное поле встановити
значення «Да (Допускаются совпадения)» або «Да (Совпадения не
допускаются)».

Створення індексу для одного поля та складеного індекса.

або вибрати меню Вид/Индексы. На екрані з’явиться вікно Индексы (рис.
10.125).

У стовпчик Индекс увести будь-яку назву, у стовпчик Имя поля увести ім’я
поля та задати порядок сортування.

Якщо індекс повинен містити декілька полів, у наступному рядку у
стовпчик Имя поля треба увести друге ім’я поля, стовпчик Индекс
залишивши порожнім. Складений індекс може містити до 10 полів.

Рис. 10.125. Створення індексів

Зберігання таблиці виконується стандартним способом: ви-

брати меню Файл/Сохранить как та задати ім’я таблиці. Якщо вибрати режим
зберігання не В ТЕКУЩЕЙ БАЗЕ ДАННЫХ, а ВО ВНЕШНЕМ ФАЙЛЕ ИЛИ БАЗЕ ДАННЫХ,
можна, вибравши відповідний тип, зберегти файл у форматі VISUAL FOXPRO,
EXCEL, HTML тощо. Якщо до зберігання таблиці не було визначено ключове
поле, тоді система запропонує створити поле типу Счетчик.

Уведення, перегляд та редагування даних. Після уведення структури
таблиці можна увести в неї дані. Для цього треба закрити таблицю в
режимі конструктора, у вкладинці Таблицы встановити курсор на її імені,
натиснути на кнопку Открыть та ввести або відредагувати дані (рис.
10.124). Для вилучення запису його необхідно виділити за допомогою миші
та смуги виділення або меню Правка/Выделить запись, а потім вибрати меню
Правка/Удалить запись або натиснути на кнопку DEL. Вилучення групи
записів виконується з використанням мови запитів SQL або фільтрів даних
— див. у питаннях 10.3.5, 10.3.7.

Редагування структури таблиці. Відкрити вкладинку Таблицы, встановити
курсор на імені таблиці, натиснути на кнопку Конструктор та внести
потрібні зміни. Для вилучення поля необхідно виділити його, вибрати меню
Правка/Удалить строки або натиснути на кнопку DEL. Для додавання поля
необхідно вибрати меню Вставка/Строки.

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

Рис. 10.126. Зміна режиму роботи

Вилучення таблиці. Відкрити вкладинку Таблицы, встановити курсор на
імені таблиці та вибрати меню Правка/Удалить або натиснути на кнопку
DEL.

Встановлення зв’язків між таблицями

СУБД ACCESS дозволяє створювати зв’язки між таблицями на основі
відношень типа «один-до-одного» та «один-до-багатьох». Встановлення
зв’язку «багато-до-багатьох» потребує наявності третьої таблиці.

Для встановлення зв’язку між таблицями необхідно у меню СЕРВИС вибрати
команду Схема данных. У результаті з’явиться вікно Добавление таблицы
(рис. 10.127), в якому треба вибрати потрібні таблиці за допомогою миші
та кнопки Добавить, а потім натиснути на кнопку Закрыть.

Наприклад, необхідно встановити зв’язок між таблицями ТАБЕЛЬ і
ПРАЦІВНИКИ по полю ТАБЕЛЬНИЙ НОМЕР та ТАБЕЛЬ і РОБОЧІ ДНІ по полю
МІСЯЦЬ.

Рис. 10.127. Додавання таблиць у схему даних

Встановлення зв’язку між таблицями ТАБЕЛЬ та ПРАЦІВНИКИ:

У таблиці ПРАЦІВНИКИ виділити поле ТАБЕЛЬНИЙ НОМЕР, натиснути ліву
кнопку миші і, не відпускаючи її, перемістити на поле ТАБЕЛЬНИЙ НОМЕР
таблиці ТАБЕЛЬ. На екрані з’явиться вікно діалогу СВЯЗИ (рис. 10.128).

Якщо треба встановити зв’язок по кількох полях, у вікні СВЯЗИ потрібно
додати ці поля. Натиснути на кнопку ОБЪЕДИНЕНИЕ — з’явиться вікно
ПАРАМЕТРЫ ОБЪЕДИНЕНИЯ, в якому пропонується три варіанти з’єднання
таблиць:

Inner join — «внутрішнє з’єднання», містить тільки ті записи з обох
таблиць, які відповідають умові поєднання;

Left outer join — ліве зовнішнє з’єднання, містить усі записи таблиці
ліворуч і записи, що задовольняють умові поєднання праворуч;

Right outer join — праве зовнішнє поєднання, містить усі записи таблиці
праворуч і записи, що задовольняють умові поєднання ліворуч;

Рис. 10.128. Встановлення зв’язку між таблицями

ПРАЦІВНИКИ та ТАБЕЛЬ

Для таблиць ПРАЦІВНИКИ ТА ТАБЕЛЬ обираємо третій варіант з’єднання (рис.
10.129).

Натиснути на кнопку Оk, а потім — СОЗДАТЬ.

Встановлення зв’язку між таблицями РОБОЧІ ДНІ ТА ТАБЕЛЬ відображено на
рис. 10.129.

На рис. 10.130 відображена схема даних бази даних ЗАРОБІТНА ПЛАТА.

Для додавання таблиці у схему даних необхідно вибрати меню
СВЯЗИ>ДОБАВИТЬ ТАБЛИЦУ або натиснути праву кнопку миші.

Вилучення зв’язку відбувається виділенням лінії зв’язку за допомогою
миші та натисненням клавіші DEL або меню ПРАВКА>УДАЛИТЬ.

Зміна зв’язку виконується після виділення лінії зв’язку за допомогою
миші та вибору меню СВЯЗИ>ИЗМЕНИТЬ СВЯЗЬ.

Рис. 10.129. Встановлення зв’язку між таблицями

РОБОЧІ ДНІ та ТАБЕЛЬ

Рис. 10.130. Схема даних та меню СВЯЗИ

Використання запитів для пошуку інформації

СУБД ACCESS дозволяє створювати запити за допомогою майстрів та у режимі
конструктора. Допрацювати та оптимізувати інструкцію запиту можна у
режимі SQL. У СУБД ACCESS під час виконання запиту створюється набір
записів, що виглядає як таблиця, але він не є таблицею. Фактично запит —
це уявлення користувача про потрібні дані з різних таблиць або інших
запитів.

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

Створення запиту за допомогою майстра

Майстер ПРОСТОЙ ЗАПРОС на основі кількох пов’язаних таблиць або запитів
дозволяє створювати запити двох типів: ПОДРОБНЫЙ та ИТОГОВЫЙ (рис.
10.132). Майстер ПЕРЕКРЕСТНЫЙ ЗАПРОС створює запит із статистичними
розрахунками (суми, середні значення, кількість записів тощо). Такий
запит дуже схожий на зведену таблицю EXCEL.

Порядок створення простого запиту:

Вибрати вкладинку Запросы, натиснути на кнопку Создать та у списку, що
з’явився, вибрати Простой запрос.

На екрані з’явиться вікно для вибору полів (рис. 10.131), які будуть
з’являтися у запиті. Поля можна вибрати з різних таблиць або запитів.

Рис. 10.131. Визначення полів, що повинні потрапити у запит

Після натиснення кнопки Далее з’явиться вікно, в якому треба визначити
тип запиту — докладний або підсумковий (рис. 10.132).

Після натиснення кнопки Далее з’явиться вікно, в котрому треба задати
назву запиту та натиснути кнопку Готово.

Для виконання запиту (перегляду) необхідно виділити назву потрібного
запиту і натиснути на кнопку Открыть.

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

Рис. 10.132. Визначення типу запиту

Рис. 10.133. Результат виконання запиту, котрий містить

поля з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ ДНІ

Створення запитів за допомогою конструктора. У режимі конструктора можна
створити новий запит, або відредагувати існуючий запит незалежно від
того, яким чином він був створений, (наприклад, за допомогою майстра).

Якщо вибрати запит ТАБЕЛЬ_РОБОЧІ ДНІ_ПРАЦІВНИКИ, що було створено за
допомогою майстра, і натиснути на кнопку Конструктор, на екрані
з’явиться вікно, що показано на рис. 10.134.

Рис. 10.134. Запит ТАБЕЛЬ_РОБОЧІ ДНІ_ПРАЦІВНИКИ

в режимі конструктора

Рядок Имя таблицы використовується для вибирання таблиці.

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

Рядок Сортировка дозволяє задати порядок сортування значень поля.

Рядок Вывод на экран може використовуватися для відміни виведення на
екран деяких полів під час виконання запиту.

Рядки Условие отбора та Или використовуються для створення умови
відбирання записів.

Виконання запиту в режимі конструктора можна досягти ви-

.

Наприклад, необхідно відібрати записи, в котрих місяць=1 та оклад>700.
При цьому, у запит повинні потрапити тільки такі поля: МІСЯЦЬ, ПРІЗВИЩЕ,
ПОСАДА, ОКЛАД. Запит та результат його виконання — див. на рис. 10.135.

За допомогою рядка Условие отбора можна створити за-

пит з параметрами. Під час виконання такого запиту відкриваються вікна
діалогу, котрі містять запрошення на введення умови відбору записів. Щоб
створити запит з параметрами для кожного поля, яке передбачається
використовувати як параметр, у рядок Условие отбора треба ввести текст
запрошення у квадратних дужках ([]). Якщо необхідно увести діапазон
значень, використовуються параметри BETWEEN та AND у такому вигляді:

BETWEEN […] AND […]. Для параметра можна встановити тип даних за
допомогою меню Запрос/Параметры.

Рис. 10.135. Запит на відбирання записів,

у яких МІСЯЦЬ=1 та оклад>700

Наприклад, необхідно відібрати записи за декілька місяців для
конкретного працівника. На рис. 10.136 відображено запит, вікна діалогу
для введення параметрів та виконання запиту.

Зберігання запиту відбувається за допомогою меню Файл/ Сохранить або
Сохранить как/Экспорт.

Запит також можна відредагувати у режимі SQL. Для цього потрібно
відкрити запит у режимі таблиці або конструктора та вибрати меню
Вид/Режим SQL. На рис. 10.137 відображено два запити, розглянуті вище,
мовою SQL.

Рис. 10.136. Запит з параметрами

Рис. 10.137. Запити мовою SQL

Порядок створення нового запиту за допомогою конструктора:

Вибрати вкладинку Запросы, натиснути на кнопку Создать та вибрати
Конструктор.

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

Вибрати поля, які повинні з’являтися у запиті.

Задати порядок сортування.

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

Якщо потрібно, створити розрахункові поля.

Зберегти запит.

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

імена таблиць, запитів, звітів, полів та елементів управління повинні
братися у квадратні дужки (наприклад, [назва матеріалу]). Якщо ім’я не
містить пропусків та спеціальних символів, тоді дужки є необов’язковими;

ім’я поля відокремлюється від імені таблиці (запита) крапкою;

текст береться у лапки (наприклад, «мідь»);

дата/час супроводжуються символом # (наприклад, #12.12.00#).

Вираз може містити стандартні функції. Розглянемо деякі з них:

Математичні функції:

sinx — sin(x)

cosx — cos(x)

tgx — tan(x)

?x? — abs(x)

lnx — log(x)

ex — exp(x)

— sqr(x)

Логічна функція:

IIF(<умова>;<вираз1>;<вираз2>)

Ця функція діє так само, як і у VISUAL FOXPRO та EXCEL. Якщо умова
вірна, обчислюється вираз 1, якщо ні — вираз 2. Умова може містити
логічні оператори AND та OR. Приклад використання функції IIF для
розрахунку прибуткового податку наведено нижче.

Функції перетворення типів даних:

перетворення даних текстового типу у числовий — VAL(x);

перетворення даних числового типу у текстовий — STR(x);

перетворення даних текстового типу на тип дати DATEVALUE(х);

перетворення даних типу ДАТА у текстовий тип CDATE(х).

Функції дат:

поточна дата — NOW();

на панелі інструментів або натиснути на праву кнопку миші та вибрати
Построить. У вікні Построитель выражений (рис. 10.138) можна ввести
вираз, використовуючи кнопки операцій, імена полів з таблиць та запитів,
вбудовані та власні функції.

Рис. 10.138. Створення запиту ПОВНИЙ ЗАПИТ

Для кожного поля у запиті можна встановити формат виведення. Для цього
необхідно встановити курсор миші у рядок Поле, натиснути на праву кнопку
миші, вибрати Свойства і задати потрібний формат поля (рис. 10.139).

Рис. 10.139. Встановлення формату поля

Наприклад, необхідно створити запит, який повинен містити: всі поля
(крім тих, що повторюються) з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ ДНІ;
розрахункові поля НАРАХОВАНО, УТРИМАНО та СУМА ДО ВИДАЧІ. Крім того, під
час виконання запиту повинен запрошуватися номер місяця, за який треба
відбирати записи. Записи повинні упорядковуватися за полями МІСЯЦЬ та
ПРІЗВИЩЕ.

Порядок створення запиту:

Створити запит, в який додати поля з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та
РОБОЧІ ДНІ за допомогою майстра Простой запрос.

Відкрити запит, створений за допомогою майстра у режимі конструктора.

У рядку Условие отбора поля МІСЯЦЬ увести параметр: [Уведіть номер
місяця].

У рядку Сортировка для полів МІСЯЦЬ та ПРІЗВИЩЕ задати По возрастанию.

У порожній стовпчик, який розташований за полем КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ
ДНІВ, увести вираз для розрахунку нарахованої заробітної плати:
Нараховано: [Оклад]/[Кількість робочих днів]*[Кількість відпрацьованих
днів] (рис. 10.138).

У наступний порожній стовпчик увести вираз для розрахунку утримання
прибуткового податку:

Утримано: IIf([Нараховано]<=17;0;IIf([Нараховано]>17 And
[Нараховано]<=85;([Нараховано]–17)*0,1;IIf([Нараховано]>85 And
[Нараховано]<=170;6,8+([Нараховано]–85)*0,15; IIf([Нараховано] > 170 And
[Нараховано]<=1020;19,55+([Нараховано]–170)*0,2;IIf ([Нараховано]> 1020
And [Нараховано]<=1700; 189,55+ ([Нараховано]–1020)*0,3;393,55+([Нараховано]–1700)*0,4))))) . У наступний порожній стовпчик увести вираз для розрахунку суми заробітної плати до видачі: Сума до видачі: [Нараховано] – [Утримано]. Для створених розрахункових полів встановити формат ДЕНЕЖНЫЙ (рис. 10.139). Зберегти запит. Виконати запит (рис. 10.140). Рис. 10.140. Виконання запиту ПОВНИЙ ЗАПИТ Мовою SQL цей запит буде мати такий вигляд: SELECT DISTINCTROW Табель.Місяць, [Робочі дні].[Назва місяця], Табель.[Табельний номер], Працівники.Прізвище, Працівники.Посада, Працівники.Оклад, Табель.[Кількість відпрацьованих днів], [Робочі дні].[Кількість робочих днів], [Оклад]/[Кількість робочих днів]*[Кількість відпрацьованих днів] AS Нараховано, IIf([Нараховано]<=17,0,IIf([Нараховано]>17 And

[Нараховано]<=85,([Нараховано]–17)*0.1,IIf([Нараховано]>85 And

[Нараховано]<=170,6.8+([Нараховано]– 85)*0.15,IIf([Нараховано]>170 And

[Нараховано]<=1020,19.55+([Нараховано]– 170)*0.2,IIf([Нараховано]>1020 And

[Нараховано]<=1700,189.55+([Нараховано]– 1020)*0.3,393.55+([Нараховано]-1700)*0.4))))) AS Утримано, [Нараховано]–[Утримано] AS [Сума до видачі] FROM Працівники RIGHT JOIN ([Робочі дні] RIGHT JOIN Табель ON [Робочі дні].Місяць = Табель.Місяць) ON Працівники.[Табельний номер] = Табель.[Табельний номер] WHERE (((Табель.Місяць)=[Уведіть номер місяця])) ORDER BY Табель.Місяць, Працівники.Прізвище; Структурована мова запитів SQL Мова SQL — це мова програмування, яка використовується під час аналізу, поновлення та обробки реляційних баз даних. СУБД ACCESS використовує мову Місrosoft JET SQL. У попередньому питанні було розглянуто запити, де у відповідність кожному було наведено інструкцію SQL (рис. 10.137). Для створення запиту мовою SQL треба вибрати вкладинку Запросы, натиснути на кнопку Создать, вибрати Конструктор, у вікні Добавление таблицы натиснути на кнопку Закрыть, у меню Вид вибрати Режим SQL та увести інструкцію SQL. Інструкції SQL можна використовувати у таких випадках: перегляд та змінення запитів, створених у режимі конструктора; визначення властивостей форм та звітів; створення спеціальних запитів таких, як запити-з’єднання, запити до серверу та управляючі запити. Ці види запитів не можна створити в режимі конструктора; створення підпорядкованих запитів. Мова SQL складається з інструкцій, речень, операцій та агрегатних функцій, які поєднуються в інструкції для створення, модифікації та маніпулювання базою даних. Речення SQL змінюють умови відбирання записів. Існують такі основні речення: FROM — призначено для визначення імені таблиці, з якої відбираються записи; WHERE — задає умови відбирання записів; GROUP BY — використовується для розподілу вибраних записів по групах; HAVING — визначає умову, яку повинна задовольняти кожна група записів; ORDER BY — використовується для визначення порядку сортування вибраних записів; CONSTRAINT — використовується в інструкції CREATE TABLE для визначення індексу для існуючої таблиці. Операції SQL поділяються на логічні та порівняння. Логічні операції: AND, OR, NOT. Операції порівняння: <, <=, >, >=, =, <> (не дорівнює),
BETWEEN (задання інтервалу значень), LIKE (задання шаблону значень, які
збіглися), IN (визначення записів у базі даних).

Агрегатні (статистичні) функції використовуються для груп записів,
повертаючи єдине значення для всієї групи. Існують такі основні
анрегатні функції:

підсумовування даних — SUM(<вираз>);

обчислення середнього — AVG(<вираз>);

визначення мінімального значення — MIN(<вираз>);

визначення максимального значення — MAX(<вираз>);

визначення кількості записів COUNT(<вираз>);

Інструкції SQL поділяються на такі категорії:

інструкції Мови Визначення Даних (DDL);

інструкції Мови Маніпулювання Даними (DML).

Інструкції DDL використовуються для створення, зміни, вилучення об’єктів
бази даних, зміни імен схеми бази даних, вилучення даних.

Створення таблиць. Для створення таблиць використовується інструкція
CREATE TABLE. Наприклад, інструкція створення таблиці ПРАЦІВНИКИ буде
мати такий вигляд:

CREATE TABLE ПРАЦІВНИКИ ([ТАБЕЛЬНИЙ НОМЕР] DOUBLE, [ПРІЗВИЩЕ] TEXT (20),
[ПОСАДА] TEXT (15), [ОКЛАД] FLOAT);

Додавання та вилучення полів. За допомогою команди ALTER TABLE можна
додавати, вилучати та змінювати поля. Для додавання поля
використовується параметр ADD COLUMN, для вилучення стовпчика — DROP
COLUMN.

> ”

> @ ? ?

j‘

?

?

jo

jae

J

?

?

v(vdvrv
w»wBwDw?w?w?woesseoessesseNe3/4°Ne¦esse›eoesse?eoe›‡›e›e›e›eoeoeNe

ja

j“

jR-

jI

j1

j »

j #

j}%

jG(

jue&

OoeiaYYYYYYYYYYYYYYOOOOOE

CНаприклад, для додавання у таблицю ПРАЦІВНИКИ поля ДОМАШНЯ АДРЕСА типа
TEXT довжиною 30 символів потрібно записати інструкцію такого вигляду:

ALTER TABLE ПРАЦІВНИКИ ADD COLUMN [ДОМАШНЯ АДРЕСА] TEXT (30);

Для змінення поля спочатку необхідно його вилучити, а потім — додати.
Наприклад, необхідно збільшити розмір поля ПОСАДА до 25 символів:

ALTER TABLE ПРАЦІВНИКИ DROP COLUMN [ПОСАДА];

ALTER TABLE ПРАЦІВНИКИ ADD COLUMN [ПОСАДА] TEXT (25);

Створення та вилучення індексів. Індекс можна створити за допомогою
інструкцій CREATE TABLE, CREATE INDEX та ALTER TABLE. Під час створення
індексу необхідно задавати його тип, який може приймати такі значення:

UNIQUE — визначає поле або декілька полів (складений індекс) як
унікальний ключ;

PRIMARY KEY — визначає поле або набір полів як первинний ключ;

FOREIGN KEY — визначає поле або декілька полів як зовнішній ключ.

Наприклад, для таблиці ТАБЕЛЬ необхідно створити первинний індекс за
полями МІСЯЦЬ та ТАБЕЛЬНИЙ НОМЕР різними методами:

під час створення таблиці: CREATE TABLE ТАБЕЛЬ ([МІСЯЦЬ] INTEGER
,[ТАБЕЛЬНИЙ НОМЕР] DOUBLE, [КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ] DOUBLE,
CONSTRAINT ІНДЕКС_МІС_ТАБ PRIMARY KEY ([МІСЯЦЬ], [ТАБЕЛЬНИЙ НОМЕР]));

створення індексу для існуючої таблиці за допомогою інструкції CREATE
INDEX: CREATE PRIMARY KEY INDEX ІНДЕКС_МІС_ТАБ ON ТАБЕЛЬ ([МІСЯЦЬ],
[ТАБЕЛЬНИЙ НОМЕР]); (Потрібно пам’ятати, що таблиця може мати тільки
один індекс типу PRIMARY KEY);

додавання індексу до існуючої таблиці за допомогою інструкції ALTER
TABLE: ALTER TABLE ТАБЕЛЬ ADD CONSTRAINT ІНДЕКС_МІС_TАБ PRIMARY KEY
([МІСЯЦЬ], [ТАБЕЛЬНИЙ НОМЕР]);

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

Вибирання записів. Інструкція SELECT вибирає записи з бази даних у
тимчасовий об’єкт RECORDSET. Ці записи надалі можна виводити на екран,
вилучати, змінювати та використовувати у звітах. Формат інструкції
SELECT:

SELECT [предикат] <список полів або виразів>

FROM <таблиці>[ IN <зовнішня база даних>]

[WHERE <умова вибирання записів>]

[GROUP BY <список полів>]

[HAVING <критерій>]

[ORDER BY <список полів>]

[WITH OWNERACCESS OPTION ];

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

писів, що вибираються, і може приймати такі значення: ALL (всі записи),
DISTINCT (записи, значення в яких повторю-

ються, вибираються один раз) або TOP (вибирає задану кількість перших
записів). За замовчанням використовується значення ALL.

Замість списку полів може задаватися символ «*», що означає вибрати всі
поля із заданої таблиці. Полю або виразу можна надати нову назву таким
чином: <ім’я поля(вираз)> AS <назва> (наприклад, АДРЕСА AS ДОМАШНЯ
АДРЕСА; КІЛЬКІСТЬ* ЦІНА AS ВАРТІСТЬ).

Речення FROM використовується для задання таблиць, з яких вибираються
записи. Якщо треба вибрати поля з кількох таблиць, перед їх іменами
потрібно задавати ім’я таблиці з символом «.» (наприклад,
ТАБЕЛЬ.ТАБЕЛЬНИЙ НОМЕР).

Речення WHERE визначає умову відбирання записів з бази даних. Якщо WHERE
відсутнє, вибираються всі записи заданих таблиць. Наприклад, для того,
щоб вибрати записи за місяці 1-ий, 2-ий, 3-ий можна записати: WHERE
МІСЯЦЬ BETWEEN 1 AND 3.

Приклад 1.

Вибрати всі поля всіх записів таблиці ТАБЕЛЬ:

SELECT * FROM ТАБЕЛЬ

Приклад 2.

Визначити прізвища перших трьох працівників, котрі мають більший оклад,
ніж інші:

SELECT TOP 3 Працівники.Прізвище

FROM Працівники

ORDER BY Працівники.Оклад DESC;

У цьому прикладі DESC означає сортування записів у порядку зменшення
значень.

Приклад 3.

Визначити КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ працівника з табельним номером
1234 у 2 місяці:

SELECT Табель.[Кількість відпрацьованих днів]

FROM Табель

WHERE (((Табель.Місяць)=2) AND ((Табель.[Табельний

номер])=1234));

Речення GROUP BY дозволяє з’єднати записи з однаковими значеннями
заданих полів (таких як МІСЯЦЬ, ТАБЕЛЬНИЙ НОМЕР) в один запис. Якщо в
інструкцію SELECT додати агрегатну функцію SQL (SUM, AVG, тощо), для
кожного запису створюється підсумкове значення. Наприклад, необхідно
визначити суми окладів по кожній посаді. На рис. 10.141 відображено
інструкцію запиту та результат його виконання.

Рис. 10.141. Інструкція запиту та результат його виконання

Речення HAVING є необов’язковим і визначає, які згруповані записи
повинні бути вибрані інструкцією SELECT з реченням GROUP BY. Наприклад,
необхідно визначити суми окладів по посадах «Секретар» та «Економіст». У
цьому випадку запит буде мати такий вигляд:

SELECT Працівники.Посада, SUM([Оклад]) AS [Сума окладів]

FROM Працівники

GROUP BY Працівники.Посада

HAVING ПОСАДА=»Економіст» OR ПОСАДА=»Секретар»;

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

Для створення запитів на основі кількох таблиць речення FROM має такий
формат: FROM <таблиця1> <тип з’єднання> <таблиця2> ON
<таблиця1>.<поле>=<таблиця2>.<поле>. Тип з’єднання може приймати такі
значення:

INNER JOIN — з’єднуються записи з двох таблиць, в яких зустрічаються
однакові значення у полі, яке є спільним для обох таблиць;

LEFT JOIN — з’єднуються всі записи з першої таблиці і тільки ті записи з
другої таблиці, в яких значення спільного поля збігаються;

RIGHT JOIN з’єднуються всі записи з другої таблиці і тільки ті записи з
першої таблиці, в яких значення спільного поля збігаються;

Наприклад, з таблиць РОБОЧІ ДНІ, ПРАЦІВНИКИ та ТАБЕЛЬ треба вибрати
записи за місяць, значення якого запрошується під час виконання запиту
та в яких нарахована заробітна плата >700. У запит включити лише такі
поля: МІСЯЦЬ, ПРІЗВИЩЕ, НАРАХОВАНО (розрахункове поле). Виконати
сортування записів по полям МІСЯЦЬ та ПРІЗВИЩЕ. Інструкція SQL для
розв’язання цієї задачі буде мати такий вигляд:

SELECT Табель.Місяць, Працівники.Прізвище, [Працівники]![Оклад]/[Робочі
дні]![Кількість робочих днів]*[Табель]![Кількість відпрацьованих днів]
AS НАРАХОВАНО

FROM [Робочі дні] RIGHT JOIN (Працівники RIGHT JOIN Табель ON
Працівники.[Табельний номер] = Табель.[Табельний номер]) ON [Робочі
дні].Місяць = Табель.Місяць

WHERE (((Табель.Місяць)=[Уведіть номер місяця]) AND
(([Працівники]![Оклад]/[Робочі дні]![Кількість робочих днів]*
[Табель]![Кількість відпрацьованих днів])>700))

ORDER BY Табель.Місяць, Працівники.Прізвище;

Створення нової таблиці на основі запиту. Інструкція SELECT INTO
дозволяє замість об’єкта RECORDSET створити таблицю з вибраними записами
і має такий формат:

SELECT <список полів> INTO <нова таблиця>

[IN <зовнішня база даних>]

FROM <таблиця-джерело>;

Наприклад, необхідно створити таблицю ЗАРОБІТНА ПЛАТА, в яку необхідно
включити всі поля (в одному екземплярі) з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та
РОБОЧІ ДНІ:

SELECT Табель.Місяць, [Робочі дні].[Назва місяця], Табель.[Табельний
номер], Працівники.Прізвище, Працівники.Оклад, Табель.[Кількість
відпрацьованих днів], [Робочі дні].[Кількість робочих днів] INTO
[ЗАРОБІТНА ПЛАТА]

FROM [Робочі дні] RIGHT JOIN (Працівники RIGHT JOIN Табель ON
Працівники.[Табельний номер] = Табель.[Табельний номер]) ON [Робочі
дні].Місяць = Табель.Місяць;

Вилучення записів. Записи таблиць, які перелічені у реченні FROM і
задовольняють умову, задану у реченні WHERE, можна вилучити за допомогою
запиту на вилучення записів. Формат інструкції на вилучення записів:

DELETE [таблиця.*]

FROM таблиці

WHERE <умова>;

Інструкція DELETE дозволяє вилучити записи з окремої таблиці або таблиць
(з таблиці «БАГАТО» відношення «один-до-багатьох»). Наприклад, в таблиці
ТАБЕЛЬ вилучити записи за

1 місяць:

DELETE *

FROM Табель

WHERE [МІСЯЦЬ]=3;

Додавання записів у запиті. Для додавання записів використовується
інструкція INSERT INTO. Формат запиту для додавання одного запису:

INSERT INTO <таблиця або запит> [(поле_1[, поле_2[, …]])]

VALUES (значення_1[, значення_2[, …])

Наприклад, додати запис у таблицю ТАБЕЛЬ:

INSERT INTO ТАБЕЛЬ ([Місяць],[Табельний номер], [Кількість
відпрацьованих днів])

VALUES (3,1238,22);

Формат запиту для додавання кількох записів:

INSERT INTO <таблиця або запит> [IN внешняяБазаДанных] [(поле_1[,
поле_2[, …]])]

SELECT [<джерело даних>]поле_1[, поле_2[, …]

FROM <вираз>;

Додати кілька записів можна з іншої таблиці або запиту, які визначаються
за допомогою інструкції SELECT.

Змінення записів у запиті. Інструкція UPDATE дозволяє змінювати значення
в полях заданої таблиці і має такий

формат:

UPDATE <таблиця>

SET <нове значення>

WHERE <критерії>;

Наприклад, в таблиці ТАБЕЛЬ значення поля КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ
збільшити на 2 у третьому місяці:

UPDATE ТАБЕЛЬ

SET [Кількість відпрацьованих днів]=[Кількість відпрацьованих днів]+2

WHERE [Місяць]=3

Створення складних запитів. Для виконання дій, які не можна реалізувати
в одній інструкції, використовуються складні запити. Ці запити можуть
містити декілька інструкцій SELECT або декілька речень FORM у середині
інструкції SELECT.

Приклад 1. Визначити прізвища працівників, котрі мають оклад більший за
середній. Інструкції запиту та результат виконання відображено на рис.
10.142.

Рис. 10.142. Інструкція запиту та результат виконання

Приклад 2. Визначити прізвище працівника, котрий мав максимальний оклад
у першому місяці; додати у запит місяць та оклад. Інструкція буде мати
такий вигляд:

SELECT Табель.Місяць, Працівники.Прізвище, Працівники.Оклад

FROM Працівники RIGHT JOIN Табель ON Працівники.[Табельний номер] =
Табель.[Табельний номер]

WHERE Табель.Місяць=1 AND Працівники.Оклад=

(SELECT MAX(Оклад)

FROM Працівники);

Створення та використання форм

Форми у СУБД ACCESS створюються самостійно або за допомогою майстрів.
Форму, створену за допомогою майстра, можна доробити у режимі
конструктора.

Створення форми за допомогою майстра:

Вибрати вкладинку Формы та натиснути на кнопку Создать.

У вікні Новая форма (рис. 10.143) вибрати джерело даних (таблицю або
запит), у списку засобів створення форми вибрати Мастер форм та
натиснути на кнопку Оk.

Рис. 10.143. Створення форми

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

Вибрати зовнішній вигляд форми (наприклад, В один столбец) та натиснути
на кнопку Далее.

Задати стиль форми (наприклад, Обычный) та натиснути на кнопку Далее.

Увести ім’я форми та натиснути на кнопку Готово.

Відкрити форму для перегляду або уведення даних можна вибравши її ім’я у
вікні бази даних та натиснувши на кнопку От-

крыть. На рис. 10.144 відображено форму, яку створено на основі таблиці
Працівники.

Рис. 10.144. Форма ПРАЦІВНИКИ

Створення підпорядкованих форм (ієрархічних). Підпорядкована форма — це
форма, яка знаходиться усередині іншої форми — головної форми. Головна
форма може мати будь-яку кількість підпорядкованих форм. Головна форма
та дані таблиці, на основі котрої вона побудована, повинні бути зв’язані
відношенням «один-до-багатьох» з першою підпорядкованою формою, а перша
підпорядкована форма — відношенням «один-до-багатьох» з другою
підпорядкованою формою. Наприклад, необхідно створити форму, яка
основана на таблиці працівники і містить підпорядковану форму, яка
основана на таблиці табель:

Вибрати вкладинку Формы, натиснути на кнопку Создать, вибрати Мастер
форм та натиснути на кнопку Оk.

Вибрати таблицю Працівники та поля, які необхідно включити до форми.

Вибрати таблицю Табель та поля, які необхідно додати у форму, натиснути
кнопку Далее.

Натиснути на селекторну кнопку Подчиненные формы та вибрати таблицю, по
якій буде створена головна форма — Працівники (рис. 10.145). Натиснути
на кнопку Далее.

Рис. 10.145. Визначення типу уявлення даних та головної форми

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

Вибрати стиль форми та натиснути на кнопку Далее.

Увести імена головної та підпорядкованої форм і натиснути на кнопку
Готово.

На рис. 10.146 показано головну та підпорядковану форми.

Рис. 10.146. Головна та підрядкова форми

Робота з формою у режимі конструктора. У режимі конструктора можна
створити нову форму або модифікувати існуючу. На рис. 10.147 у режимі
конструктора відображено форму Працівники, яку було створено за
допомогою майстра (рис. 10.144).

Рис. 10.147. Форма ПРАЦІВНИКИ у режимі конструктора

Форма містить такі розділи:

Заголовок — використовується для виведення тексту заголовка форми,
коментарів по роботі з формою, кнопок для відкривання зв’язаних форм,
тощо;

Область данных — містить елементи управління, які призначені щодо
виведення даних полів таблиць, керуючі елементи (кнопки, перемикачі)
тощо;

Верхний колонтитул — використовується для відображення заголовка форми,
стовпців тощо (виведення відбувається тільки під час друкування форми);

Нижний колонтитул — використовується для зображення дат, номерів
сторінок (виведення відбувається тільки під час друкування форми).

Область выделения формы (квадрат на перетині лінійок). Якщо виконати
CLICK у цій області — відбувається виділення форми, DOUBLE CLICK —
відкривається вікно властивостей форми;

Область выделения раздела (квадрат біля заголовка розділу). Якщо
виконати CLICK в цій області — відбувається виділення розділу, DOUBLE
CLICK — відкривається вікно властивостей розділу.

Під час створення нової форми в ній присутня лише одна категорія —
Область данных. Інші розділи додаються за допомогою меню Вид.

Форма складається з об’єктів. Для додавання нових об’єктів
використовується панель елементів (рис. 10.147). Кожний об’єкт має
властивості, які можна змінювати у вікні властивостей. Щоб завантажити
це вікно, потрібно виділити об’єкт та вибрати меню Вид/Свойства або
натиснути праву кнопку миші та вибрати Свойства. Наприклад, для змінення
надпису поля Оклад необхідно змінити властивість Подпись; для
встановлення формату даних для поля Оклад потрібно змінити властивість
Формат поля.

Використання фільтрів

для пошуку інформації

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

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

Відкрити таблицю, запит або форму.

Виділити значення, яке повинні містити записи.

.

.

Фільтри зберігаються автоматично під час зберігання таблиці, запита або
форми.

Звичайний фільтр дозволяє відібрати записи шляхом уведення критеріїв у
порожню таблицю, запит або форму. Наприклад, необхідно з таблиці Табель
відібрати записи, в яких поле МІСЯЦЬ=2 та КІЛЬКІСТЬ ВІДПРАЦЬОВАНИХ ДНІВ
> =20.

Порядок створення звичайного фільтру:

Відкрити таблицю, запит або форму.

.

На екрані з’явиться таблиця для введення критеріїв (рис. 10.148). У
відповідних полях увести умову відбору записів. Для уведення значень
розкрити список та вибрати потрібне значення. Для уведення виразу можна
використовувати будівник виразів. Для пошуку записів, які повинні
містити в конкретному полі порожні або непорожні значення, необхідно
увести вираз IS NULL або IS NOT NULL.

Рис. 10.148. Уведення критеріїв для звичайного фільтра

. Для відміни дії фільтру вибрати меню Записи/Удалить фильтр або
натиснути на ту саму кнопку.

Розширений фільтр дозволяє створювати складні критерії відбирання
записів. Порядок створення розширеного фільтру:

Відкрити таблицю, запит або форму.

Вибрати меню Записи/Фильтр/Расширенный фильтр. У результаті відкриється
вікно, схоже на вікно конструктора запитів.

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

Задати порядок сортування.

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

Вибрати меню Записи/Применение фильтра або натиснути на відповідну
кнопку панелі інструментів.

Наприклад, створити фільтр для відбирання записів, у яких
посада=«Секретар». На рис. 10.149 відображено вікно фільтру та результат
його виконання.

Рис. 10.149. Вікно розширеного фільтру

та результат його виконання

і вибрати Форма, Отчет, Автоформа або Автоотчет.

Створення та використання звітів

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

Створення звіту за допомогою майстра. Наприклад, необхідно створити звіт
«Відомість нарахування з/п», до якого включити поля НАЗВА МІСЯЦЯ,
ПРІЗВИЩЕ, НАРАХОВАНО, УТРИМАНО, СУМА ДО ВИДАЧІ. Під час створення звіту
потрібно: задати сортування за прізвищем; виконати групування за назвою
місяця і задати виконання операції підсумовування за полями НАРХОВАНО,
УТРИМАНО, СУМА ДО ВИДАЧІ. Для створення цього звіту зручно використати
запит ПОВНИЙ ЗАПИТ, який містить поля з таблиць ТАБЕЛЬ, ПРАЦІВНИКИ,
РОБОЧІ ДНІ та розрахункові поля НАРАХОВАНО, УТРИМАНО і СУМА ДО ВИДАЧІ.
Порядок створення звіту:

Вибрати вкладинку Отчеты, натиснути на кнопку Создать, вибрати Мастер
отчетов та натиснути на кнопку Оk.

Вибрати потрібну таблицю або запит та поля (рис. 10.150).

Рис. 10.150. Вибирання полів для звіту

Задати рівні групування, а саме поля, для яких у звіті будуть виводитися
проміжні підсумки (Наприклад, НАЗВА МІСЯЦЯ). Натиснути на кнопку Далее
(рис. 10.151).

Визначити порядок сортування записів у звіті та, натиснувши на кнопку
Итоги, задати підсумкові операції (рис. 10.152). Натиснути на кнопку
Далее.

Вибрати макет для звіту (рис. 10.153). Натиснути на кнопку Далее.

Вибрати стиль звіту. Натиснути на кнопку Далее.

Увести назву звіту і натиснути на кнопку Готово.

Переглянути звіт, вибравши його у вікні бази даних та натиснувши на
кнопку Просмотр. На рис. 10.154 показано звіт ВІДОМІСТЬ НАРАХУВАННЯ З/П.

Рис. 10.151. Задання групування записів

Рис. 10.152. Визначення порядку сортування

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

Рис. 10.153. Визначення макета для звіту

Рис. 10.154. Звіт з проміжними підсумками

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

Відомість нарахування заробітної плати на _________

Прізвище Нараховано Утримано Сума до видачі

. . .

Усього:

Сума

Цей звіт можна створити на основі таблиць ТАБЕЛЬ, ПРАЦІВНИКИ та РОБОЧІ
ДНІ або запиту ПОВНИЙ ЗАПИТ, який крім полів з трьох таблиць містить
розрахункові поля НАРАХОВАНО, УТРИМАНО та СУМА ДО ВИДАЧІ. Крім того, під
час виконання цього запиту запитується номер місяця, за який потрібно
відібрати записи.

Порядок створення звіту в режимі конструктора:

Вибрати вкладинку Отчеты, натиснути на кнопку Создать, задати джерело
даних (ПОВНИЙ ЗАПИТ), вибрати Конструктор та натиснути на кнопку Оk. На
екрані з’явиться вікно конструктора звітів (рис. 10.155). Звіт містить
такі самі розділи та панель елементів, як і форма.

Додати вираз для розрахунку номерів сторінок: вибрати меню Вставка/Номер
страницы.

Вставити розділи Заголовок отчета та Примечание отчета: меню
Вид/Заголовок/Примечание отчета.

(Надпись), розтягти рамку в розділі Заголовок та увести «Відомість
нарахування заробітної плати на».

. У результаті буде завантажено будівник виразів (див. п. 10.3.4.
Використання запитів), за допомогою якого можна увести будь-який вираз.

Рис. 10.155. Вікно конструктора звітів

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

— Надпись;

— Прямоугольник;

— Линия.

У розділі Область данных увести вирази (наприклад, =[Прізвище],
=[Нараховано] тощо) для кожного стовпчика таблиці так само, як описано в
пункті 5.

увести вираз для розрахунку поточної дати: =NOW().

У розділі Примечание отчета за допомогою інструменту Надпись увести
УСЬОГО, а за допомогою інструменту Поле увести вираз для розрахунку
загальної суми до видачі:

=SUM[СУМА ДО ВИДАЧІ].

Відформатувати звіт одним з двох методів:

за допомогою панелі інструментів, змінюючи розмір, шрифт, колір тексту у
звіті (попередньо виділивши об’єкт або весь звіт);

за допомогою меню Формат/Автоформат. Спочатку необхідно виділити звіт:
вибрати меню Правка/Выделить отчет.

Переглянути звіт (меню Вид/Предварительный просмотр).

Зберегти звіт (меню Файл/Сохранить как).

На рис. 10.156 відображено звіт ВІДОМІСТЬ З/П у режимі конструктора, а
на рис. 10.157 — у режимі перегляду.

Рис. 10.156. Звіт у режимі конструктора

Рис. 10.157. Звіт у режимі перегляду

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

Для програмування у СУБД ACCESS використовується процедурна мова VISUAL
BASIC FOR APPLICATIONS (VBA) з додаванням елементів
об’єктно-орієнтованого програмування, інструкцій SQL та макрокоманд.
Програмування в ACCESS базується на об’єктах, які містять дані та код
(програму). Програми зберігаються у модулях, які поділяються на:

загальні модулі — це окремі об’єкти бази даних, які використовуються для
зберігання програм, що доступні з будь-якого місця додатку;

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

Модулі поділяються на модулі класу та стандартні модулі. Стандартний
модуль містить тільки код. Модуль класу містить код та дані. Модулі форм
та модулі звітів — це модулі класів. Кожний модуль містить розділ описів
(Option Compare Database) та процедури, додані користувачем.

Процедури поділяються на два види:

процедури-функції FUNCTION (функції користувача) містять інструкції мови
VBA та завжди повертають значення, тому їх можна використовувати у
виразах. Порядок створення функції у загальному модулі:

Вибрати вкладинку Модули.

Натиснути на кнопку Создать.

Увести текст функції, яка має такий формат:

FUNCTION <ім’я функції>(<аргументи>)

. . .

END FUNCTION

Треба мати на увазі, що ім’я функції повинно складатися з латинських
символів (кирилицю використовувати не можна).

На рис. 10.158 наведено функцію для розрахунку прибуткового податку, а
на рис. 10.159 — її застосування.

Рис. 10.158. Створення функції користувача

процедури-підпрограми SUB виконують дії, але не повертають значення.
Процедура Обработки событий використовується у формах та звітах. Під час
виникнення події для форми, звіту або елементу управління автоматично
викликається процедура обробки подій, назва якої складається з імен
об’єктів та подій.

Рис. 10.159. Запис виразу для розрахунку

прибуткового податку за допомогою

функції PODATOK

Наприклад, необхідно створити форму Інформація щодо працівників, за
допомогою якої завантажується форма Працівники або ОКЛАД_БІЛЬШЕ_ЗА_СЕР.
Перша форма (рис. 10.160) створюється на основі таблиці ПРАЦІВНИКИ (мал.
10.124), друга (рис. 10.161) — на основі запиту ВИБ_ЗАП_ БІЛЬШЕ СЕР
(рис. 10.142).

Рис. 10.160. Форма ПРАЦІВНИКИ

Рис. 10.161. Форма ОКЛАД_БІЛЬШЕ_ЗА_СЕР

Форма Інформація щодо працівників повинна мати такий вигляд, як
зображено на рис. 10.162.

Рис. 10.162. Форма ІНФОРМАЦІЯ ЩОДО

ПРАЦІВНИКІВ у режимі форми

Для розв’язання цієї задачі потрібні такі інструкції:

Визначення змінних DIM:

DIM <ім’я змінної> AS <тип> [, <ім’я змінної> AS <тип> [,…]]

Наприклад, DIM name as string, quantity as integer

Альтернативне вибирання SELECT CASE:

SELECT CASE <вираз, що оцінюється>

CASE <список_виразів1>

<блок_інструкцій1>

CASE <список_виразів2>

<блок_інструкцій2>

. . .

CASE ELSE

<блок_інструкційN>

END SELECT

Інструкція SELECT CASE за своїми можливостями аналогічна інструкції IF,
але у деяких випадках її застосування зручніше, ніж IF. Інструкція
SELECT CASE працює таким чином: якщо список_виразів 1 містить значення
виразу, що оцінюється, виконується блок_інструкцій 1, якщо
список_виразів 2 — блок_інструкцій 2 тощо. Якщо жоден список_виразів не
містить значення виразу, що оцінюється, виконується блок_інструкцій N.

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

DIM nomer AS INTEGER, nazva AS STRING

nomer=2

SELECT CASE nomer

CASE 1

nazva=”січень”

CASE 2

nazva=”лютий”

. . .

CASE 12

nazva=”грудень”

CASE ELSE

MSGBOX (“Невірний номер місяця”)

END SELECT

Виконання макрокоманди у процедурі DOCMD:

DOCMD.<ім’я макрокоманди>(<аргументи>)

Наприклад, DOCMD.CLOSE

Макрокоманда CLOSE закриває поточну форму, див. попередній приклад.

Макрокоманда OPENFORM відкриває задану форму поточної бази даних:

OPENFORM <ім’я форми>

Наприклад, DOCMD OPENFORM ПРАЦІВНИКИ

Порядок створення форми ІНФОРМАЦІЯ ЩОДО ПРАЦІВНИКІВ:

Вибрати вкладинку Формы, натиснути на кнопку Создать, вибрати
Конструктор та натиснути на кнопку Оk. На екрані з’явиться вікно форми
(рис. 10.163)

Рис. 10.163. Форма у режимі конструктора

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

Заповнити вікна створення групи перемикачів (рис. 10.164—10.168). У
результаті буде створена група перемикачів, кожному з яких буде надано
номер (значення параметра).

Рис. 10.164. Завдання підписів для кожного перемикача

Рис. 10.165. Встановлення перемикача за замовчуванням

Рис. 10.166. Встановлення значення параметра

для кожного перемикача

Рис. 10.167. Вибирання типу перемикачів та оформлення

Рис. 10.168. Уведення підпису для групи перемикачів

Надати групі перемикачів ім’я: виділити групу перемикачів, натиснути на
праву кнопку миші, вибрати Свойства та для властивості Имя увести
ПРАЦІВНИКИ.

та в області даних виділити місце для розташування кнопки. Після цього
на екрані з’явиться вікно СТВОРЕННЯ КНОПКИ, в якому необхідно натиснути
на кнопку Отмена.

Виділити об’єкт Кнопка, натиснути праву кнопку миші, вибрати Свойства та
для властивостей Имя та Подпись задати ПЕРЕГЛЯД.

Створити другу кнопку ВИХІД так само, як це описано у пунктах 4—5.

Для кнопки ПЕРЕГЛЯД створити процедуру події CLICK. Для цього виділити
кнопку, натиснути на праву кнопку миші, вибрати Обработка событий, потім
— програми та увести текст процедури ПЕРЕГЛЯД_CLICK у модулі форми (рис.
10.169).

Вікно модуля можна також відкрити за допомогою меню Вид/Программа або
натиснувши на кнопку ПРОГРАМИ панелі інструментів. Задана процедура
залежно від вибраного перемикача завантажує відповідну форму. Якщо
натиснути на кнопку в процесі відкриття форми, почне виконуватися задана
процедура.

Для кнопки ВИХІД створити процедуру ВИХІД_CLICK так само, як і для
кнопки ПЕРЕГЛЯД (рис. 10.169). Ця процедура закриває поточну форму.

Рис. 10.169. Вікно модуля форми з процедурами

ПЕРЕГЛЯД_CLICK та ВИХІД_CLICK

Відкрити форму в режимі форми:

у вікні бази даних — виділити форму та натиснути на кнопку Открыть;

у вікні конструктора форм — за допомогою панелі інструментів (рис.
10.170);

у вікні модуля — за допомогою меню ЗАПУСК/ПЕРЕЙТИ/ПРОДОЛЖИТЬ.

Рис. 10.170. Змінення режиму

На рис. 10.171 відображено створену форму в режимі конструктора.

Рис. 10.171. Форма в режимі конструктора

PAGE 1

Похожие записи