Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні-Access.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
63 Мб
Скачать
☆

3. Створити складену форму з обчислювальним полем

Створимо форму (бланк замовлення) для роздрібних покупців, ціна реалізації яких на 10% більша за початкову ціну. Якщо вартість покупки перевищує 1000 у.о., то надається знижка у розмірі 2% на загальну вартість замовлення (у базі даних ”Борей” передбачена можливість надання знижки на окремий товар).

Крок 1. Оскільки нас цікавить бланк замовлення лише для роздрібних покупців (для них поля Обращаться к та Должность приймають лише нульові значення), то для їх вибору з таблиці Клиенты потрібно створити запит Покупці_запит, який відображатиме усі непорожні поля, крім поля Факс, для яких вище згадані поля приймають нульове значення. Критерієм відбору у цьому випадку буде умова Is Null, яка накладається на поля Обращаться к та Должность.

Крок 2. Для обчислення вартості замовлення з урахуванням ціни реалізації, знижок на окремі найменування, знижки на сумарну величину замовлення та вартість замовлення з урахуванням сумарної знижки, створимо запит Замовлення_Сума, який міститиме поля таблиці Заказано (КодЗаказа, КодТовара, Цена, Количество, Скидка) та обчислювальне поле Вартість, у якому обчислюватиметься вартість замовленого товару (окремо кожного найменування) з урахуванням, знижки на товар у кожному замовленні. Обчислення здійснюватимуться за виразом

[Цена]*[Количество]*(1-[Скидка]).

Вікно бланку запиту матиме вигляд, показаний на мал. 3.42.

Мал.3.42. Вікно конструктора запиту Замовлення_Сума

Крок 3. Для створення форми скористаємось майстром форм, у якому:

  • на першому кроці виберемо поля, дані яких відображатимуться у формі:

  • із запиту Продавці_запит – усі поля;

  • із запиту Замовлення_Сума – усі поля, крім КодЗаказа;

  • з таблиці Заказы – поля КодЗаказа і ДатаИсполнения.

  • на другому кроці задамо тип підлеглих форм, причому головною має виступати форма, у якій знаходяться поля запиту Покупець_запит (мал. 43), відповідно до запропонованого майстром вигляду представлення даних, бачимо, що у нашій формі буде дві підлеглі;

  • на наступних кроках виберемо табличне представлення для підлеглих форм, а також стиль оформлення (наприклад Рисунок Суми) та збережемо створені форми під назвами: головна – Замовлення_роздріб, підлеглі – Номер замовлення та Товари_роздріб.

Мал. 3.43. Діалогове вікно майстра створення форми із заданим виглядом представлення даних

Крок 4. Процес редагування створеної форми почнемо з внесення змін у підлеглі форми, які можна по черзі відкрити (як окремі об’єкти бази даних) у режимі кон­структора.

Редагування форми Номер_замовлення

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

Мал.3. 44. Вікно конструктора підлеглої форми Номер замовлення

Оскільки основна форма буде використовуватись лише для створення нового замовлення, то у підлеглій формі Номер замовлення потрібно передбачити лише введення даних (властивість Ввод данных) та не відображати кнопки переходу (властивість Кнопки перехода), зменшивши тим самим розмір форми.