Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kYRSOVA.docx
Скачиваний:
4
Добавлен:
15.11.2019
Размер:
869.1 Кб
Скачать
    1. Описання фізичної моделі бази даних

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

Рисунок 4.4.1.

На рисунках 4.4.2-4.4.7. приведено структури окремих таблиць бази даних.

Рисунок 4.4.2.

Рисунок 4.4.3.

Рисунок 4.4.4

Рисунок 4.4.5

Рисунок 4.4.6

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

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

Рисунок 4.5.1.

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

DO menu1.mpr WITH THIS,.T.

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

Рисунок 4.5.2.

Рисунок 4.5.3.

Рисунок 4.5.4.

Рисунок 4.5.5.

Рисунок 4.5.6.

Управляючі форми всіх цих форм окремі як окремі класи, тексти обробників приведені в додатку. особливо цікавими з точки зору програмної реалізації є функції пошуку записів, які реалізовані через обробники InterActiveChangeEvent текстового поля. Текст одного з них приведений нижче.

loca for (dabon.pip)=trim(thisform.text2.text)

kab=dabon.kabon

loca for trim(vydach.invent)=trim(thisform.text1.text).and.trim(vydach.kabon)=kab

thisform.refresh

Спроектована також подія InterActiveChangeEvent поля редагування «Ознака повернення»

sele ddysk

loca for ddysk.invent=vydach.invent

repl ddysk.ovydach with .not.(vydach.oznpov)

sele vydach

В залежності від значення цього поля змінюється значення поля «Ознака видачі» таблиці відеодисків.

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

Рисунок 4.5.7

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

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

sele dgrup

pack

sele ddysk

pack

sele dgabon

pack

sele dabon

pack

sele vydach

pack

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

else

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

endif

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

SELECT Ddysk.kgrd, Dgrup.nazvagr, Ddysk.invent, Ddysk.nazva,;

Ddysk.datanadh;

FROM data1!ddysk INNER JOIN data1!dgrup ;

ON Ddysk.kgrd = Dgrup.kgrd;

ORDER BY Ddysk.kgrd, Ddysk.invent

SELECT Vydach.invent, COUNT(Vydach.invent) AS kil;

FROM data1!vydach;

GROUP BY Vydach.invent

SELECT Zvit2_1.invent, Ddysk.nazva, Zvit2_1.kil;

FROM data1!zvit2_1 INNER JOIN data1!ddysk ;

ON Zvit2_1.invent = Ddysk.invent;

ORDER BY Zvit2_1.kil DESC

SELECT Vydach.invent, Vydach.datavyd, Vydach.kabon;

FROM data1!vydach;

WHERE Vydach.oznpov = .F.

SELECT Zv3_1.invent, Ddysk.nazva, Zv3_1.datavyd, Zv3_1.kabon;

FROM data1!zv3_1 INNER JOIN data1!ddysk ;

ON Zv3_1.invent = Ddysk.invent

SELECT Zv3_2.*, Dabon.pip, Dabon.adresa;

FROM data1!zv3_2 INNER JOIN data1!dabon ;

ON Zv3_2.kabon = Dabon.kabon;

ORDER BY Zv3_2.invent

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