Тематична практична робота: Комплексний експорт об’єктів та відновлення структури між базами даних MS Access
Мета: Закріпити навички проектування реляційних баз даних, створення складних об’єктів (запитів із параметрами, форм із підлеглими формами, звітів із групуванням) та їх коректного експорту до іншої бази даних із подальшим відновленням цілісності зв'язків.
Відкрийте програму Microsoft Access.
Створіть нову порожню базу даних під назвою Головна_Прізвище (це буде база-джерело). Закрийте автоматично створену порожню таблицю.
Через меню Файл -> Створити створіть ще одну порожню базу даних під назвою Резерв_Прізвище (це буде база-приймач).
Закрийте базу Резерв_Прізвище та поверніться до роботи в базі Головна_Прізвище.
Створимо дві пов'язані таблиці.
Крок 1. Створення таблиці «Відділи»:
Перейдіть на вкладку Створення та виберіть Конструктор таблиць.
Створіть поля:
Код_відділу: тип даних — Автонумерація (зробіть поле ключовим).
Назва_відділу: тип даних — Короткий текст.
Керівник: тип даних — Короткий текст.
Збережіть таблицю під назвою Відділи.
Відкрийте її в режимі подання даних і додайте три відділи (наприклад: Маркетинг, ІТ-відділ, Бухгалтерія) та вкажіть прізвища керівників. Закрийте таблицю.
Крок 2. Створення таблиці «Співробітники»:
Знову відкрийте Конструктор таблиць.
Створіть поля:
Код_співробітника: тип даних — Автонумерація (ключове поле).
ПІБ: тип даних — Короткий текст.
Посада: тип даних — Короткий текст.
Зарплата: тип даних — Грошовий.
Код_відділу: тип даних — Числовий (це поле буде зовнішнім ключем для зв'язку з таблицею «Відділи»).
Збережіть таблицю під назвою Співробітники.
Перейдіть у режим подання даних і додайте 6-8 співробітників. У полі Код_відділу обов'язково вказуйте цифри 1, 2 або 3 (відповідно до кодів відділів із першої таблиці). Зарплати вкажіть різні (наприклад, від 10000 до 30000). Закрийте таблицю.
Крок 3. Налаштування зв'язків:
Перейдіть на вкладку Знаряддя бази даних і натисніть Зв'язки.
Додайте обидві таблиці у робочу область.
Затисніть ліву кнопку миші на полі Код_відділу в таблиці «Відділи» та перетягніть його на поле Код_відділу в таблиці «Співробітники».
У вікні, що з'явиться, обов'язково встановіть прапорець Забезпечення цілісності даних, а також Каскадне оновлення пов'язаних полів і Каскадне видалення пов'язаних записів.
Натисніть Створити. Має з'явитися зв'язок типу «один-до-багатьох».
Збережіть і закрийте вікно зв'язків.
Крок 1. Запит із критерієм та обчисленням:
На вкладці Створення виберіть Конструктор запитів. Додайте обидві таблиці.
Додайте в нижню сітку поля: Назва_відділу, ПІБ, Посада, Зарплата.
У рядку Критерії під полем Зарплата введіть умову: > 15000.
У наступному порожньому стовпці створіть обчислювальне поле для премії. У рядку «Поле» введіть: *Премія: [Зарплата]0,1
Збережіть запит під назвою Преміювання_Високих_Зарплат. Перевірте його роботу і закрийте.
Крок 2. Форма з підлеглою формою:
В Області переходів виділіть таблицю Відділи (один клік).
На вкладці Створення натисніть кнопку Форма. Програма автоматично створить головну форму для відділів і підлеглу для співробітників.
Збережіть форму. Access запропонує зберегти головну форму (назвіть її Головна_Відділи) та підлеглу (назвіть її Підлегла_Співробітники). Закрийте форму.
Крок 3. Звіт із групуванням:
На вкладці Створення виберіть Майстер звітів.
Виберіть запит Преміювання_Високих_Зарплат. Перенесіть усі поля кнопкою з подвійною стрілочкою. Натисніть Далі.
Налаштуйте групування за полем Назва_відділу. Натисніть Далі.
Виберіть сортування за полем ПІБ за зростанням. Натисніть Далі, потім ще раз Далі.
Назвіть звіт Звіт_Премії_Відділів і натисніть Готово. Закрийте звіт.
Тепер необхідно перенести всю створену архітектуру до бази Резерв_Прізвище. Складність полягає в тому, що об'єкти залежать один від одного.
Крок 1. Експорт таблиць:
Виділіть таблицю Відділи. На вкладці Зовнішні дані натисніть кнопку База даних Access.
Через кнопку Огляд виберіть файл Резерв_Прізвище.
У вікні експорту виберіть Визначення та дані. Натисніть ОК, потім Закрити.
Повторіть абсолютно ті ж самі дії для таблиці Співробітники.
Крок 2. Експорт запиту та звіту:
Виділіть запит Преміювання_Високих_Зарплат. Виконайте процедуру експорту в базу Резерв_Прізвище.
Виділіть звіт Звіт_Премії_Відділів та експортуйте його аналогічним чином.
Крок 3. Експорт пов'язаних форм: Увага: форма з підлеглою формою складається з двох окремих об'єктів. Якщо експортувати лише головну, замість списку співробітників буде білий квадрат із помилкою.
Знайдіть в Області переходів форму Підлегла_Співробітники. Експортуйте її в базу Резерв_Прізвище.
Після цього експортуйте форму Головна_Відділи.
Під час пооб'єктного експорту таблиць зв'язки між ними не переносяться автоматично. Їх потрібно відновити.
Закрийте базу Головна_Прізвище.
Відкрийте базу Резерв_Прізвище.
Перевірте наявність усіх 6 об'єктів в Області переходів (2 таблиці, 1 запит, 2 форми, 1 звіт).
Перейдіть на вкладку Знаряддя бази даних -> Зв'язки.
Додайте таблиці Відділи та Співробітники.
Створіть зв'язок між полями Код_відділу, обов'язково встановивши прапорець Забезпечення цілісності даних. Збережіть і закрийте зв'язки.
Щоб переконатися, що міграція даних пройшла успішно і нічого не зламалося, проведіть тестування в базі Резерв_Прізвище:
Відкрийте форму Головна_Відділи. Спробуйте змінити зарплату одному зі співробітників на суму більшу за 15000.
Відкрийте запит Преміювання_Високих_Зарплат. Переконайтеся, що дані оновилися, запит працює, а премія розраховується правильно (немає помилок типу «#Им'я?» або порожніх вікон запиту параметрів).
Відкрийте звіт і натисніть Попередній перегляд, щоб перевірити, чи коректно відображається групування.
У базі Резерв_Прізвище створіть макрос (вкладка Створення -> Макрос).
Виберіть дію макросу Повідомлення. У полі «Повідомлення» введіть текст: Експорт та відновлення бази даних завершено успішно!
Збережіть макрос під назвою Статус_Перевірки.
Експортуйте цей макрос назад у базу Головна_Прізвище.
Відкрийте базу Головна_Прізвище, запустіть отриманий макрос і переконайтеся, що на екрані з'являється діалогове вікно з вашим текстом.