- •Технічне завдання
- •Анотація
- •Введення
- •1. Загальна частина
- •1.1. Постановка задачі
- •Створюємо таблиці для зберігання даних як показано на Рис.2 та Рис.3.
- •2.2. Створення форм
- •1.2. Проектування інформаційної моделі
- •2. Порядок побудови
- •2.1. Створення таблиць
- •Далі потрібно створити базу даних для цього потрібно:
- •2.3. Створення звітів
- •2.4. Створення меню
- •Висновки
- •Література
- •Додаток 1 Керівництво користувача
- •Додаток 2 Лістинг програми
1.2. Проектування інформаційної моделі
В даній базі створено чотири таблиці: «Готель», «Маршрути», «Клієнти» та «Путівки».
Інформаційна модель проекту представлено на Рис.1
Рис.1
Ключовими полями обрано:
в таблиці «Готель»: код маршруту; готель
в таблиці «Клієнти»: код клієнта;
в таблиці «Маршрути»: код маршруту.
в таблиці «Путівки»: код маршруту та код клієнта.
В таблицях «Клієнти» та «Маршрути» для ключових полів я встановив тип індексу: Primery, для всіх інших ключових полів інших таблиць тип індексу Regular.
Встановлено саме такі зв’язки таблиць для правильної роботи бази даних.
2. Порядок побудови
2.1. Створення таблиць
На початку роботи я створит файл проекту:
Натискаємо NewProjectNew file
Зберігаю створений проект в папку де буде міститися база даних: D:\Turism.
Далі потрібно створити базу даних для цього потрібно:
DatabasesNewNew Database.
Зберігаємо базу в папку, що й проект.
Створюємо таблиці для зберігання даних як показано на Рис.2 та Рис.3.
Рис.2
Рис.3
Зберігаємо таблицю давши попередньо їй ім’я
Рис.4
Структура таблиці «Готель» представлено на Рис.5.
Рис.5
В таблиці «Готель» створено такі індекси:
Рис.6
Так само описуються всі інші таблиці
Рис.12
Після створення структури кожної таблиці я заповнив всі таблиці відповідними даними.
Заповнена таблиця «Готель»:
Рис.13
Так само описуються всі інші таблиці
2.2. Створення форм
В даному проекті я створив 5 форм. Кожна з форм створювалась в режимі конструктора.
Для створення нової форми потрібно обрати: Documents->Forms->кнопка New->New Form. З’явиться пусте вікно конструктора форм. За допомогою кнопок панелі інструментів Form Controls я створював всі форми.
Форма для перегляду путівок, додавання/вилучення клієнтів до бази даних, а також для пошуку за прізвищем клієнта я створив форму «Перегляд путівок» (Рис.17):
Рис.17
Дана форма створена за допомогою функції Create Form Set, що дозволяє створити декілька форм в одній формі. В моєму випадку, це досить зручно для організації пошуку.
Елементи до форми я додавав за допомогою добудовника, в якому вказував назву таблиці та поля, що будуть додані до форми. Після додавання відповідних елементів я змінював їх налаштування на панелі Properties.
Коди обробки події Click:
Перший запис:
GO TOP
thisform.Refresh
Наступний запис:
IF RECNO()!=RECCOUNT()
SKIP 1
ELSE
MESSAGEBOX(" Останній запис")
endif
thisform.refresh
Попередній запис:
IF RECNO()!=1 THEN
skip-1
ELSE
MESSAGEBOX('Ви знаходитесь на першому записі')
ENDIF
thisform.refresh
Останній запис:
GO BOTTOM
thisform.Refresh
Додати клієнта:
GO BOTTOM
n=klient.kod_klienta
p=n+1
APPEND BLANK
REPLACE klient.kod_klienta WITH p
thisform.Refresh
Додати путівку:
DO FORM d:\turism\form1.scx
thisform.Release
Видалити клієнта:
DELETE
nAnswer =MESSAGEBOX("Ви дійсно хочете вилучити запис?",36,"Запит на вилучення")
DO CASE
CASE nAnswer = 6
pack
CASE nAnswer = 7
RECALL
ENDCASE
IF RECNO()=RECCOUNT()
SKIP -1
ELSE SKIP 1
ENDIF
Пошук за прізвищем:
thisformset.FORM2.visible= .T.
Вихід:
thisform.Release
Кнопка «Знайти» з другої підформи даної форми (при чому полі, за яким будемо шукати я задав змінну q):
a=RECNO()
LOCATE for priz = ALLTRIM(q)
IF priz!=ALLTRIM(q)
MESSAGEBOX("ПО ВАШЕМУ ЗАПРОСУ НЕТ ДАННЫХ", 0+64+0, "ПРЕДУПРЕЖДЕНИЕ")
go top
ENDIF
thisformset.form1.Refresh
thisform.release
Форма «Перегляд путівок» в робочому стані має вигляд (Рис.18):
Рис.18
Форма для видалення путівок створювала аналогічно до попередньої і має вигляд (Рис.19):
Рис.19
Форма для введення даних вибору путівки та укладання договору, якщо вибір здійснено (Рис.20):
Рис.20
В даній формі я додатково використовував елементи ComboBox та Grid, а також провів підрахунок загальної вартості путівки в залежності від обраних параметрів. Також я передбачив, що клієнту буде зручно переглянути фотографії одного з номерів готелю, який обирається (фото міняється в залежності від вибору готелю). Після натискання на кнопку «Зберегти замовлення» дані заносяться до таблиці «Путівки».
Тут має бути приведено всі коди всіх кнопок, окрім тих, які дублюються на різних формах
Рис.21
Для зручності роботи користувача я створив головну форму (Рис.22):
Рис.22
Так само описуються всі форми в проекті
