Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
митниця.doc
Скачиваний:
4
Добавлен:
09.12.2018
Размер:
1.14 Mб
Скачать

7.6. Побудова форм для введення даних

Для побудови форм активізуємо закладку Формы вікна бази даних (Рис. 7.3.). Як і для таблиць, побудова об’єкта здійснюється кнопкою Создать Рис. 7.16.

Рис. 7.16 Вікно вибору режиму створення форми

Для створення форм зручно скористатись майстром форм. Крім вибору варіанту технології побудови форми необхідно визначити також базову таблицю для форми. На першому кроці (Рис. 7.17.) майстер форм пропонує визначитись з множиною полів таблиці (таблиць), які вибрано для форми.

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

У прикладі, що розробляється, при побудові форми для таблиці ТОВАР необхідно вибрати всі поля. На другому кроці (Рис. ) майстер дає можливість забезпечити зовнішній вигляд форми структурно виваженим.

Рис. 7.18. Вибір зовнішнього вигляду форми

Виберемо вигляд форми в один столбец. На третьому кроці (Рис. 7.19.) майстер забезпечує дизайн форми

Рис. 7.19. Вибір оформлення форми

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

Майже на одному подиху будується форма і для другої таблиці – КРАЇНА ПОХОДЖЕННЯ, але, на відміну від побудови форми для таблиці ТОВАР, тут бажано при формуванні множини полів потурбуватись про наявність поля Назва з таблиці ТОВАР. Цей елемент у формі таблиці ПОХОДЖЕННЯ ТОВАРУ допоможе бачити, а при необхідності і виправляти назву товара.

Форма для таблиці МИТНИЙ ЗБІР будується за тими ж правилами, що й попередні, але на відміну від них тут виникає необхідність зосередити певні сили та вміння для побудови обчислень. Спочатку в середовищі майстра формуємо множину полів форми: це всі поля таблиці МИТНИЙ ЗБІР, поля Назва та ЦінаЗаОдиницю з таблиці ТОВАР, а також поля Країна, Фірма та ДатаРозмитнення з таблиці ПОХОДЖЕННЯ ТОВАРУ. Після закінчення звичайної роботи майстра побудови форм необхідно потурбуватись про поля, що обчислюються. Тобто, вже побудовану форму для таблиці МИТНИЙ ЗБІР потрібно редагувати. Для цього її треба відкрити конструктором. Далі головне: необхідно визначитись, в який момент виконувати обчислення? Тут відповідь неоднозначна. Все залежить від вибору подій, після яких виконуються ті чи інші обчислення. Можна рекомендувати обчислення кожного виразу вести, як тільки змінюється значення його аргументів. Після відповіді на це питання в формі МИТНИЙ ЗБІР спочатку забезпечимо обчислення поля СумаВсього. Значення цього поля залежить від значень двох полів: ВсьогоОдиниць та ЦінаЗаОдиницю. У властивостях елементу форми ВсьогоОдиниць (Рис. 7.20.)

Рис. 7.20. Вікно властивостей поля ВсьогоОдиниць

вибираємо закладку События, на рівні После обновления замовляємо значення Процедура обработки событий і далі кнопкою відкриваємо вікно модуля (Рис. 7.21.),

Рис. 7.21. Вікно модуля, пов’язаного з формою "Митний Збір"

де редагуємо відповідну процедуру з назвою ВсьогоОдиниць_AfterUpdate (дослівно - ВсьогоОдиниць_ПісляОновлення). Тіло цієї процедури буде таким:

СумаВсього = ВсьогоОдиниць* ЦінаЗаОдиницю

Так само будуємо процедуру обробки події оновлення другого аргументу поля СумаВсього, а саме аргументу ЦінаЗаОдиницю. Тепер буде побудована друга процедура з назвою ЦінаЗаОдиницю_AfterUpdate, в якій тіло процедури співпадає з тілом процедури ВсьогоОдиниць_AfterUpdate (отже, можна скористатись буфером обміну замість набору тексту!). Значення інших полів, що обчислюються, також залежать врешті-решт від аргументів ВсьогоОдиниць та ЦінаЗаОдиницю. Це означає, що процедури, вже визначені вище, необхідно редагувати додаванням нових інструкцій. Редагування процедур виконується в тому ж вікні модуля, в яке можна потрапити знову ж таки через властивості поля та обробку подій (кнопка ). Беручи до уваги алгоритм, який побудовано вище, ці процедури набувають такого вигляду:

Private Sub ВсьогоОдиниць_AfterUpdate()

СумаВсього = ВсьогоОдиниць * ЦінаЗаОдиницю

МитнийЗбір = СумаВсього * МитнийТариф / 100

End Sub

Private Sub ЦінаЗаОдиницю_AfterUpdate()

СумаВсього = ВсьогоОдиниць * ЦінаЗаОдиницю

МитнийЗбір = СумаВсього * МитнийТариф / 100

End Sub

Private Sub СумаВсього_AfterUpdate()

МитнийЗбір = СумаВсього * МитнийТариф / 100

End Sub

Private Sub МитнийТариф_AfterUpdate()

МитнийЗбір = СумаВсього * МитнийТариф / 100

End Sub

Остаточний вигляд форми для таблиці Митний тариф зображено на Рис. 7.22.

Рис. 7.22. Остаточний вигляд форми для таблиці „Митний тариф”