logo
ОБД 5 семестр

Зв’язок головної та підлеглої форми в Microsoft Access

Підлегла форма звичайно використовується для виводу даних з таблиць або запитів, з відношенням “один-до-багатьох”. Наприклад, таблиця «Типи» та таблиця «Товари» зв’язані відношенням «один-до-багатьох». Кожен тип товарів складається з декількох товарів. Грунтуючись на цих таблицях можна створити підлеглу форму “Товари” всередині головної форми “Типи”. Ми розглянемо, наприклад, форму “Список_раб” (мал. 1), яка вміщує підлеглу “Ведомости”.

Зі створенням форми та підлеглої форми, які грунтуються на таблицях, зв’язаних відношенням «один-до-багатьох», головна форма представляє сторону «один» відношення, а підлегла форма представляє сторону «багато» (мал.2).

Головна форма синхронізується з підлеглою формою таким чином, що в підлеглій формі виводяться тільки записи, зв’язані з записом в головній формі. Якщо підлегла форма створюється за допомогою майстра або шляхом перетягування форми, таблиці або запиту з вікна бази даних в іншу форму, Microsoft Access автоматично синхронізує головну форму з підлеглою формою із виконанням двох наступних умов.

Малюнок 1

Малюнок 2

Створимо за допомогою майстра форм форму “Список_раб”, яка буде грунтуватись на таблиці “Список_раб” та таблиці “Ведомости”.

  1. В списку діалогового вікна Новая формавиберітьМастер форм.

  2. Виберіть з списку таблицю або запит. Наприклад, щоб створити форму “Список_раб”, яка демонструє в підлеглій формі список виданих сум, які відносяться до конкретного працівника, виберіть таблицю “Список_раб” (сторона “один” відношення “один-до-багатьох”).

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

  4. В тому ж діалоговому вікні майстра виберіть з списку іншу таблицю або запит. В розглянутому прикладі виберіть таблицю «Ведомости» (сторона «багато» відношення «один-до-багатьох»). Послідовність вибору таблиць або запитів не має значення.

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

  6. Якщо до запуску майстра зв’язки були встановлені коректно, то після натискання кнопки Далеепропонується відібрати таблиці або запити, які будуть використовуватись для представлення даних. Використовуючи той же приклад форми “Список_раб”, виберіть рядок –Список_раб.

  7. В тому ж діалоговому вікні виберіть перемикач Подчиненные формы (див. мал.3).

Малюнок 3

  1. Слідуючи інструкціям інших діалогових вікон майстер Microsoft Access, у результаті створить дві форми: одну для форми та елемента керування “Подчиненная форма”, а іншу для підлеглої форми.

З використанням форми з підлеглою формою для вводу нових записів поточний запис в головній формі зберігається з переходом до підлеглої форми. Це гарантує, що записи з таблиці на стороні «багато» будуть мати зв’язаний запис в таблиці на стороні «один». Це також автоматично зберігає кожен запис, який додається в підлеглу форму. Підлегла форма може відображатись у вигляді таблиці, або у вигляді простої чи стрічкової форми. Головна форма може відображатися тільки як проста форма.

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

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

Малюнок 4