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

3Описання фізичної моделі бази даних

На рисунку 4.4.1. приведено вигляд бази даних проекту. Вона є контейнером для своїх складових – таблиць та локальних представлень.

Рисунок 4.4.1. Середовище оточення бази даних

Кожна таблиця бази даних побудована за допомогою конструктора таблиць, екранні форми зображені на рисунках 4.4.2.-4.4.7.

Рисунок 4.4.2. Конструктор таблиці dceh.dbf

Рисунок 4.4.3. Конструктор таблиці dsklad.dbf

Рисунок 4.4.4. Конструктор таблиці dpokup.dbf

Рисунок 4.4.5. Конструктор таблиці dnomen.dbf

Рисунок 4.4.6. Конструктор таблиці vidv1.dbf

Рисунок 4.4.7. Конструктор таблиці vidv2.dbf

4.5. Опис програмної реалізації

Представимо інтерфейс користувача для кожної з функцій програми. Функції загального управління відповідає форма, представлена на рисунку 4.5.1.

Рисунок 4.5.1.Головна форма проекту

Ця форма оголошена як форма найвищого рівня (TOP-LEVEL) і через обробник події InitEvent з’єднана з попередньо підготованим і згенерованим файлом меню menu1.mpr, лістинг якого представлений у додатку №1.

DO menu1.mpr WITH THIS, .T.

На рисунках 4.5.2.-4.5.9. приведені форми, які реалізують функції ведення даних в окремих таблицях.

Рисунок 4.5.2 Форма «Ведення довідника цехів»

Рисунок 4.5.3. Форма «Ведення довідника складів»

Рисунок 4.5.4. Форма «Ведення довідника покупців»

Рисунок 4.5.5. Форма «Ведення довідника номенклатур»

Рисунок 4.5.6. Форма «Відвантаження з виробництва на склад»

Рисунок 4.5.7. Форма «Відвантаження зі складу покупцю»

Управляючі форми всіх цих форм окремі як окремі класи, тексти обробників приведені в додатку №2.

Форми «Відвантаження з виробництва на склад» та «Відвантаження зі складу покупцю» містять процедури – обробники подій «клацання правою клавішею миші по обчислювальних полях». Вигляд одного з цих обробників приведено на рисунку 4.5.8.

Рисунок 4.5.8. Вигляд обробника подій для форм «Відвантаження з виробництва на склад» та «Відвантаження зі складу покупцю».

Операція видалення помічених записів використовується форма «Видалення записів», вигляд якої приведено на рисунку 4.5.9.

Рисунок 4.5.9.Форма для вилучення записів

Головна операція цієї форми зв’язана з обробником події Click кнопки «Видалення». Нижче приведено текст цієї процедури.

if messagebox('Всі помічені засоби будуть видалені',4+32,'Видалення')=6

sele dceh

pack

sele dsklad

pack

sele dpokup

pack

sele dnomen

pack

sele vidv1

pack

sele vidv2

pack

messagebox('Упаковка закінчена')

else

messagebox('Упаковка відмінена')

endif

До складу проекту входить ряд запитів (локальних представлень), на базі яких будуються звіти. Далі приведені лістинг SQL запитів.

SELECT Vidv1.*, Dnomen.nomen;

FROM data1!vidv1 INNER JOIN data1!dnomen ;

ON Vidv1.knomen = Dnomen.knomen;

ORDER BY Vidv1.kceh, Vidv1.ksklad, Vidv1.knomen

SELECT Zv1_1.nakl, Zv1_1.kceh, Dceh.ceh, Zv1_1.ksklad, Zv1_1.knomen,;

Zv1_1.data, Zv1_1.kil, Zv1_1.sumaobl, Zv1_1.sumasob, Zv1_1.nomen;

FROM data1!zv1_1 INNER JOIN data1!dceh ;

ON Zv1_1.kceh = Dceh.kceh

SELECT Zv1_2.nakl, Zv1_2.kceh, Zv1_2.ceh, Zv1_2.ksklad, Dsklad.sklad,;

Zv1_2.knomen, Zv1_2.nomen, Zv1_2.data, Zv1_2.kil, Zv1_2.sumaobl,;

Zv1_2.sumasob;

FROM data1!zv1_2 INNER JOIN data1!dsklad ;

ON Zv1_2.ksklad = Dsklad.ksklad

SELECT Vidv2.nakl, Vidv2.ksklad, Vidv2.kpokup, Vidv2.knomen, Dnomen.nomen,;

Vidv2.data, Vidv2.kil, Vidv2.sumaobl, Vidv2.sumasob;

FROM data1!vidv2 INNER JOIN data1!dnomen ;

ON Vidv2.knomen = Dnomen.knomen;

GROUP BY Vidv2.ksklad, Vidv2.kpokup, Vidv2.knomen

SELECT Zv2_1.nakl, Zv2_1.ksklad, Dsklad.sklad, Zv2_1.kpokup, Zv2_1.knomen,;

Zv2_1.nomen, Zv2_1.data, Zv2_1.kil, Zv2_1.sumaobl, Zv2_1.sumasob;

FROM data1!zv2_1 INNER JOIN data1!dsklad ;

ON Zv2_1.ksklad = Dsklad.ksklad

SELECT Zv2_2.nakl, Zv2_2.ksklad, Zv2_2.sklad, Zv2_2.kpokup, Dpokup.pokup,;

Zv2_2.knomen, Zv2_2.nomen, Zv2_2.data, Zv2_2.kil, Zv2_2.sumaobl,;

Zv2_2.sumasob;

FROM data1!zv2_2 INNER JOIN data1!dpokup ;

ON Zv2_2.kpokup = Dpokup.kpokup

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]