
- •Приклад 1. Створення форми, яка використовуватиметься лише для доповнення даних таблиці
- •Приклад 2. Створення складеної форми
- •У бд ''Борей" створені форми, які дозволяють переглядати список існуючих товарів (Список товаров), доповнювати даними окремо таблиці товарів (Товары) та постачальників (Поставщики).
- •Мал. 4.33. Зразок створеної складеної форми
- •Приклад 3 Створення складеної форми з обчислювальним полем
- •Мал. 4.34. Вікно конструктора запиту Замовлення_Сума
- •Мол. 4.35. Діалогове вікно майстра створення форми із заданим виглядом представлення даних
- •Редагування форми Номер_замовлення
- •Редагування форми Товари__роздріб
- •Мал. 4.37. Вікно проектування запиту
- •Редагування головної форми
- •Приклад 4. Створення форми у вигляді зведеної таблиці з діаграмою
- •Мал. 4.42. Вікно майстра створення форми зі зведеною таблицею
- •Контрольні запитання
Приклад 3 Створення складеної форми з обчислювальним полем
Створимо форму (бланк замовлення) для роздрібних покупців, ціна реалізації яких на 10% більша за початкові/ ціну. Якщо вартість покупки перевищує 1000 у.о., то надається знижка у розмірі 2% на загальну вартість замовлення (у базі даних "Борей" передбачена можливість надання знижки на окремий товар).
Крок 1. Оскільки нас цікавить бланк замовлення лише для роздрібних покупців (для них поля Обращаться к та Должность приймають лише нульові значення), то для їх вибору з таблиці Клиенты потрібно створити запит 170-кущі_запит, який відображатиме усі не порожні поля, крім поля Факс, для яких вище згадані поля приймають нульове значення. Критерієм відбору у цьому випадку буде умова Is Null, яка накладається на поля Обращаться к та Должность.
Крок 2. Для обчислення вартості замовлення з урахуванням ціни реалізації, знижок на окремі найменування, знижки на сумарну величину замовлення та вартість замовлення з урахуванням сумарної знижки, створимо запит Замовлення_Сума, який міститиме поля таблиці Заказано (КодЗаказа, КодТовара, Цена, Количество, Скидка) та обчислювальне поле Вартість, у якому обчислюватиметься вартість замовленого товару (окремо кожного найменування) з урахуванням, знижки на товар у кожному замовленні. Обчислення здійснюватимуться за виразом [Цена]*[Количество]*(1-[Скидка]).
Вікно бланку запиту матиме вигляд, показаний на мал. 4.34.
Мал. 4.34. Вікно конструктора запиту Замовлення_Сума
Крок 3. Для створення форми скористаємось майстром форм, у якому:
• на першому кроці виберемо поля, дані яких відображатимуться у формі:
із запиту Продавці _запит - усі поля;
із запиту Замовлення_Сума - усі поля, крім КодЗаказа-,
з таблиці Заказы - поля КодЗаказа і ДатаИсполнения.
• на другому кроці задамо тип підлеглих форм, причому головною має виступати форма, у якій знаходяться поля запиту Покупецъ_запит (мал. 4.35), відповідно до запропонованого майстром вигляду представлення даних, бачимо, що у нашій формі буде дві підлеглі;
• на наступних кроках виберемо табличне представлення для підлеглих форм, а також стиль оформлення (наприклад рисунок суми) та збережемо створені форми під назвами: головна - Замовлення_роздріб, підлеглі - Номер замовлення та Товари_роздріб.
Мол. 4.35. Діалогове вікно майстра створення форми із заданим виглядом представлення даних
Крок 4. Процес редагування створеної форми почнемо з внесення змін у підлеглі форми, які можна по черзі відкрити (як окремі об'єкти бази даних) у режимі конструктора.
Редагування форми Номер_замовлення
Ця форма повинна відображати на екран код замовлення та дату його виконання, тому вона може бути подана у вигляді простої форми (у вікні властивостей форми для властивості Режим по умолчанию (вкладка Макет або Все) задамо значення Простая форма). Далі перенесемо написи з області заголовку у область даних, заховаємо область заголовку, змінимо текст у написах на український, від форматуємо усі елементи керування та збережемо ці зміни у формі. У режимі конструктора форма матиме вигляд, подібний до наведеного на мал. 4.36.
Мал. 4.36-Вікно конструктора підлеглої форми Номер замовлення
Оскільки основна форма буде використовуватись лише для створення нового замовлення, то у підлеглій формі Номер замовлення потрібно передбачити лише введення даних (властивість Ввод данных) та не відображати кнопки переходу (властивість Кнопки перехода), зменшивши тим самим розмір форми.