Програмне забезпечення для управління продажем та орендою нерухомості

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Вступ

Бізнес-процеси сучасного світу тісно зв’язані з інформаційними технологіями. Комп’ютеризація різних сфер діяльності людини призводить до економічного зростання і покращення фінансового стану підприємств. Людина займаючись підприємницькою діяльністю намагається отримати максимальний прибуток за найкоротший час і з мінімальними затратами. У цьому їй в пригоді стають як комп’ютерні системи так і різноманітне програмне забезпечення. В той час, необхідно розуміти, що головну роль відіграє правильна побудова бізнес-процесу підприємства. Якісно спроектувати майбутнє підприємство дозволяє системний аналіз, який дає змогу розібрати, зрозуміти та поліпшити окрему сферу діяльності людини, а також дозволяє передбачити її можливі шляхи розвитку.

Мета курсової роботи — створення програмного забезпечення для управління продажем та орендою нерухомості. Основними завданнями даної роботи є аналіз роботи підприємства з продажу нерухомості; проектування системи взаємодії клієнта з продавцем; визначення основних вимог до програмного комплексу, який необхідно розробити.

Об'єктом дослідження виступає підприємство з продажу нерухомості.

Предметом дослідження даної роботи є інформаційна підтримка клієнтів підприємства та управління замовленнями агентом з нерухомості.

Дана тема є надзвичайно актуальною в наш час, так як все більше з’являється агентства з продажу нерухомості в містах. З роками ринок нерухомості розвивається і для його управління в наш час, стало необхідним створення програмного забезпечення для управління нерухомістю та швидкого пошуку підходящого варіанту покупцям чи орендаторам.

Розробка програмної системи управління операціями з нерухомістю є дуже вигідною в економічному плані. Робота агентства з нерухомості тісно пов’язана з поняттям часу продажу, найменуванням одиниць нерухомості, веденням статистики продажу нерухомості. Це потребує правильної і чіткої організації, задля отримання максимального прибутку.

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

Приступаючи до реалізації поставленої мети, необхідно чітко розуміти, що програмна система повинна буди гнучкою, та легко масштабованою, задля збільшення її функціональності в майбутніх редакціях. Тому задля реалізації мети будемо використовувати такі методи дослідження як: методи теорії алгоритмів, методи об'єктно-орієнтованого проектування, методика проектування баз даних, методи дослідження операцій. Програмний продукт буде розроблено за допомогою інструментальних засобів розробки мови програмування Microsoft Visual Basik, технології DAO та СОМ-технології. Підготовка бази даних для роботи здійснювалась у Microsoft Access.

1. Постановка задачі

1. 1 Характеристика задачі

програмний управління продаж нерухомість

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

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

На передній план виступають наступні проблемні ділянки організації роботи агентства продажу нерухомості, які необхідно розв’язати за допомогою ЕОМ:

а) швидкий пошук потрібних варіантів покупцю;

б) швидкість обслуговування агента своїх клієнтів;

в) складання та підтримка єдиної бази даних одиниць нерухомості, інформації про продаж нерухомості.

Основними завданнями даної роботи є:

а) аналіз роботи агентства продажу нерухомості;

б) проектування системи взаємодії агента з продавцем;

в) визначення основних вимог до програмного комплексу, який необхідно розробити.

Дані проблеми і задачі необхідно виконувати кожен день, при цьому вихідною інформацією необхідно вважати інформацію про стан, місцезнаходження, кількість кімнат, та ціну на даний вид нерухомості.

На меті є створити програмний комплекс під назвою «Нерухомість +». який би мав такі характерні риси:

а) простий та інтуїтивно зрозумілий інтерфейс;

б) робота з єдиною базою даних (базою даних в форматі Microsoft Access);

в) можливість швидкого пошуку та друкування звіту;

г) заповнення і підтримання бази даних одиниць нерухомості.

Важливо, окрім розробки, власне, програмного комплексу «Нерухомість +», за допомогою обраної мови програмування, розібрати таку предметну область, як агентство продажу нерухомості. І на основі цього аналізу, створити її систему функціонування.

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

1. 2 Вхідна інформація

Ефективна діяльність агентства продажу нерухомості вимагає наявності первинних даних. Вхідна інформація представляє собою сукупність показників, характеристик об'єкта дослідження, або інших значень, над якими необхідно проводити обчислення, здійснювати їх обробку тощо. Для задачі проектування ефективної роботи агентства продажу нерухомості вхідними даними виступають показники таких таблиць як «Основна» (таблиця 1. 1). В них зібрана довідкова інформація про всі характеристики нерухомості, дані про агентів, що займаються даним видом нерухомості, а також інформація про місцезнаходження нерухомості.

Таблиця 1.1. Перелік і опис вхідних повідомлень

№ з/з

Назва вхідного повідомлення

Ідентифікатор

Форма

представлення

Термін і частота надходження

Джерело

1

Код нерухомості

Kod_kvar

Таблична

При реєстрації нової одиниці нерухомості

Агент

2

Код району

Kod_ray

Таблична

При реєстрації нової одиниці нерухомості

Агент

3

Код вулиці

Kod_yl

Таблична

При реєстрації нової одиниці нерухомості

Агент

4

Дата

Chislo

Таблична

При реєстрації нової одиниці нерухомості

Агент

5

Орієнтир

Orien

Таблична

При реєстрації нової одиниці нерухомості

Агент

6

Номер дому

Nom_dom

Таблична

При реєстрації нової одиниці нерухомості

Агент

7

Номер квартитири

Nom_kvar/kom

Таблична

При реєстрації нової одиниці нерухомості

Агент

8

Етаж

etaz

Таблична

При реєстрації нової одиниці нерухомості

Агент

9

Етажність дому

Etaznost

Таблична

При реєстрації нової одиниці нерухомості

Агент

10

Кількість кімнат

Kol_kom

Таблична

При реєстрації нової одиниці нерухомості

Агент

11

Ціна

Cena

Таблична

При реєстрації нової одиниці нерухомості

Агент

12

Код ріелтера

Kod_riel

Таблична

При реєстрації нової одиниці нерухомості

Агент

13

Примітки (невеликий опис стану квартири)

Prim

Таблична

При регістрації нової одиниці нерухомості

Агент

14

Загальна площа

Obsh_plosh

Таблична

При регістрації нової одиниці нерухомості

Агент

15

Жила площа

Zhilay_plosh

Таблична

При регістрації нової одиниці нерухомості

Агент

16

Розшифров

ка площі

Rash_plosh

Таблична

При регістрації нової одиниці нерухомості

Агент

17

Кількість балконів

Kol_bal

Таблична

При регістрації нової одиниці нерухомості

Агент

18

Площа кухні

Plosh_kuh

Таблична

При регістрації нової одиниці нерухомості

Агент

19

Висота стелі

Vis_potol

Таблична

При регістрації нової одиниці нерухомості

Агент

20

Каналізація

Kanal

Таблична

При регістрації нової одиниці нерухомості

Агент

21

Опис вікон (вид, тех. стан)

Opis_okon

Таблична

При регістрації нової одиниці нерухомості

Агент

22

Опис ванної кімнати

Opis_van

Таблична

При регістрації нової одиниці нерухомості

Агент

23

Опис кухні

Opis_kuh

Таблична

При регістрації нової одиниці нерухомості

Агент

24

Код планування

Kod_rasp

Таблична

При регістрації нової одиниці нерухомості

Агент

1.3 Вихідна інформація

В загальному розумінні вихідна інформація представляє собою результат роботи з базою даних. Процес опрацювання даних, що знаходяться в базі або додаються до неї реалізується з використанням алгоритмів розробленої програми. Описання вихідної інформації відбувається у наступній послідовності:

створення структури бази даних, яка є об'єктом оброки для програми, що розробляється як головне завдання курсового проекту;

створення програми для обробки даних запропонованої бази;

— визначення вхідної інформації для програми, необхідної для проведення опрацювання інформації в базі даних;

— розрахунковий процес, тобто робота з базою даних з використанням функцій, що містить розроблена програма;

— отримання вихідної інформації, що є завершальною стадією даної послідовності дій.

Після здійснення вищевказаних процесів можна відзначити що, вихідна інформація у даному курсовому проекті визначена у вигляді таких розрахованих колонок таблиці «Процент від операції», «Заробіток агента», «Прибуток агентства». Також можна сказати, що програмне забезпечення, створене для агентства продажу нерухомості, використовується для полегшення пошуку інформації шляхом вибірки та сортування.

Характеристика вихідних повідомлень наведена у таблиці 1.4.

Таблиця 1.2. Характеристика вихідних повідомлень

№ з/п

Назва вихідного повідомлення

Ідентифікатор

Форма представлення і вимоги

до неї

Періодичність видання

Термін видання і допусти

мий час затримки

Користувачі інформації

1

Стоимость услуг

Процент від операцій

Таблична

Кожен раз після натискання кнопки головного меню «Отчет»

Генерується автоматично

Агент

2

Заробіток агента

Заробіток агента

Таблична

Кожен раз після натискання кнопки головного меню «Отчет»

Генерується автоматично

Агент

3

Прибуток агентства

Прибуток агентства

Таблична

Кожен раз після натискання кнопки головного меню «Отчет»

Генерується автоматично

Агент

2. Розробка алгоритму розв’язання задачі

Для аналізу даних використовувалися методи елементарної математики.

Для реалізації задачі необхідно розробити алгоритм. Робота з програмою здійснюється на основі управління через пункти головного меню, яке зображено на рис 2.1 та описано у таблиці 2. 1

Рис. 2.1. Головне меню програми

Таблиця 2.1. Пункти головного меню

№ з/п

Найменування пункту меню

Ідентифікатор меню

Призначення

1

«Открыть базу»

Vivod

Викликає діалог, за допомогою якого завантажуємо базу даних.

2

«Выборка данных»

Kol_kom

Викликає діалог, який створений для формування власних запитів і передачі їх у Word, Excel, HTML.

3

«Отчет»

Otch

Викликає діалог, який створений для перегляду звіту з розрахунковими полями

4

«Выход»

Exit

Викликає процедуру, яка закриває програму.

Кожному коду пункту головного меню відповідає своя процедура:

Vivod Vivod_Click (), Kol_kom Kol_kom_Click (), Otch Otch_Click (),

Exit Exit_Click ()

Алгоритм, за яким функціонує програма, наведено на рис 2.2.

Рис. 2.2. Блок-схема роботи програми

3. Організація інформаційного забезпечення

3. 1 Загальна характеристика інформаційного забезпечення

Вся необхідна інформація для сортування та підрахунку даних в базі даних розміщена у вигляді таблиці 3.1. База даних створена у форматі Microsoft Access (. mdb), адже цей формат є найбільш розповсюдженим серед користувачів.

Таблиця 3.1. Перелік і опис таблиць бази даних

№ з/п

Назва таблиці

Ідентифікатор

Опис

1

Данні про продану нерухомість

Osnov

Інформація про ціну, площу, розташування, стан.

2

Довідник планів побудов нерухомості

Sprav_plan

Інформація про код плану та його назву

3

Довідник районів

Sprav_ray

Інформація про код району та його назву

4

Довідник ріелторів

Sprav_riel

Інформація про код агента та його фамілію

5

Довідник вулиць

Sprav_ul

Інформація про код вулиці та її назву

Для контролю введення інформації використовується «унікальність полів», тобто в таблиці, наприклад, не може бути однакового коду квартири. Також таблиці реляційно пов’язані між собою, і в довідниках також не допускається повтору коду.

3.2 Побудова системи класифікації та кодування

Кодування — процес створення і присвоєння об'єкту певного коду. За допомогою кодування ми маємо можливість прискорити пошук інформації в базі даних і зменшити кількість пам’яті яка потрібна в момент пошуку в базі даних. У моїй роботі використано реєстраційне кодування. Реєстраційне кодування застосовується для однозначної ідентифікації об'єктів і не вимагає попередньої їх класифікації. При цьому було обрано як метод кодування для поля «Код квартири» п’ятизначний чисельний код числами натурального ряду, також використано кодування полів «Код района», «Код улицы», «Код риелтора», «Код планировки» ризними за кількістю чисел кодами натурального ряду. У поля «Код района» трьохзначний чисельний код. У поля «Код улицы» використовується випадкове кодування, яке визначається користувачем. У поля «Код риелтора» використовується двозначний код, який має чіткі значення і пов’язаний з довідником. У поля «Код планировки» використовується двозначний код, так як значень цього поля не багато.

П’ятизначне кодування застосовується тому, що кількість об'єктів може бути величезною і для унікальності я використав це кодування. У роботі проводиться аналіз невеликої кількості угод агентства, але все-таки потрібно цей факт враховувати на майбутнє. Порядок нумерації визначається агентом, який вносив інформацію в базу даних.

Трьохзначне кодування для районів використовується тому, щоб не було співпадання кодів інших полів.

Не обмежений код для поля «Код улицы» потрібен для того що вулиць існує дуже багато і для унікальності я використав цей метод.

Обрані методи кодування забезпечують:

однозначне визначення об'єкта у межах заданої множини;

необхідну інформацію про об'єкт;

оптимальну довжину коду, що спрощує заповнення документів,

спрощує їх перевірку, зменшує кількість помилок, розміри машинної пам’яті і час обробки;

— достатній резерв незайнятих кодів, щоб можна було кодувати нові об'єкти й угруповання, не порушуючи структури класифікатора.

3. 3 Структура баз даних та інформаційних масивів

База даних, яка використовується для роботи з програмою, складається із п’яти таблиць: довідник вулиць, довідник районів, довідник агентів, довідника планувань квартир і основної таблиці даних.

Таблиця «Довідник планів нерухомості» має ідентифікатор Sprav_plan. Її структура наведена в таблиці 3.2.

Таблиця 3.2. Опис структури таблиці

Найменування

Поле

Тип поля

Довжина

Кількість знаків після десятинної точки

Первинний ключ

Умова на значення

Обов’язкове поле

Індексне поле

Код планування

Kod_plan

Числовий

4

+

-

Так

Так

Найменування планування

Plan

Текстове

50

-

-

Так

Так

Таблиця «Довідник районів» має ідентифікатор Sprav_ray. Її структура наведена в таблиці 3.3.

Таблиця 3.3. Опис структури таблиці

Найменування

Поле

Тип поля

Довжина

Кількість знаків після десятинної точки

Первинний ключ

Умова на значення

Обов’язкове поле

Індексне поле

Код району

Kod_ray

Числовий

4

+

-

Так

Так

Найменування району

Rayon

Текстове

50

-

-

Так

Так

Таблиця «Довідник вулиц» має ідентифікатор Sprav_ul. Її структура наведена в таблиці 3.4.

Таблиця 3.4. Опис структури таблиці

Найменування

Поле

Тип поля

Довжина

Кількість знаків після десятинної точки

Первинний ключ

Умова на значення

Обов’язкове поле

Індексне поле

Код вулиці

Kod_ray

Числовий

4

+

-

Так

Так

Назва вулиці

Rayon

Текстове

50

-

-

Так

Так

Таблиця «Довідник агентів» має ідентифікатор Sprav_riel. Її структура наведена в таблиці 3. 5

Таблиця 3.5. Опис структури таблиці

Найменування

Поле

Тип поля

Довжина

Кількість знаків після десятинної точки

Первинний ключ

Умова на значення

Обов’язкове поле

Індексне поле

Код агента

Kod_riel

Числовий

4

+

-

Так

Так

Прізвище

Rieltor

Текстове

50

-

-

Так

Так

Таблиця «Данні про продану нерухомість» має ідентифікатор Osnov. Її структура наведена в таблиці 3. 6

Таблиця 3.6. Опис структури таблиці

Найменування

Поле

Тип поля

Довжина

Кількість знаків після десятинної точки

Первинний ключ

Умова на значення

Обов’язкове поле

Індексне поле

Код квартири

Kod_kvar

Числовий

4

+

-

Так

Так

Код району

Kod_ray

Текстове

50

-

-

Так

Так

Код вулиці

Kod_yl

Числовий

4

+

-

Так

Так

Дата занесення в базу

Chislo

Дата/час

-

-

Ні

Ні

Орієнтир

Orien

Текстове

50

-

-

Ні

Ні

Номер дому

Nom_dom

Числовий

4

-

-

Ні

Ні

Номер квартири

Nom_kvar/kom

Числовий

4

-

-

Ні

Ні

Поверх

etaz

Числовий

4

-

-

Ні

Ні

Кількість поверхів дому

Etaznost

Числовий

4

-

-

Ні

Ні

Кількість кімнат

Kol_kom

Числовий

4

-

-

Ні

Ні

Ціна

Cena

Числовий

4

-

-

Ні

Ні

Код агента

Kod_riel

Числовий

4

+

-

Так

Так

Примітки

Prim

Текстове

50

-

-

Ні

Ні

Загальна площа

Obsh_plosh

Числовий

4

-

-

Ні

Ні

Житлова площа

Zhilay_plosh

Числовий

4

-

-

Ні

Ні

Розшифрування площі

Rash_plosh

Текстове

50

-

-

Ні

Ні

Кількість балконів

Kol_bal

Числовий

4

-

-

Ні

Ні

Площа кухні

Plosh_kuh

Числовий

4

-

-

Ні

Ні

Висота стелі

Vis_potol

Числовий

4

-

-

Ні

Ні

Каналізація

Kanal

Логічний

+

Ні

Ні

Опис вікон

Opis_okon

Текстове

50

-

-

Ні

Ні

Опис ванної кімнати

Opis_van

Текстове

50

-

-

Ні

Ні

Опис кухні

Opis_kuh

Текстове

50

-

-

Ні

Ні

Код планування

Kod_rasp

Числовий

4

+

-

Так

Так

Таблиці бази даних зв’язані між собою (рис 3. 1). При цьому використовується тип зв’язку «один до багатьох».

Рис. 3.1. Реляційний зв’язок таблиць БД

4. Розробка програмного забезпечення задачі

4.1 Опис головного модулю програми (головного вікна)

В даний час ОС Windows визначає вимоги до програмного забезпечення для персональних комп’ютерів. Яку б мову програмування не обрати, зрозуміло, що базою є Windows API (Application Programming Interface — інтерфейс прикладного програмування), і освоївши його, можна писати програми будь-якого степеня складності, використовуючи всі можливості, що пропонуються операційною системою. При роботі з базами даних виникає проблема, яка полягає в тому, що що дані можуть поступати з самих різних джерел, кожне з яких володіє своєю специфікою. Проте написання програми істотно спрощується із створенням уніфікованого механізму взаємодії з самими різними джерелами даних. За минулий час різними компаніями було запропоновано безліч рішень в цій області. Найбільш значними є Microsoft ODBC (Open Database Connectivity) і Borland ШАРІ (Integrated Database Application Programming Interface). Технологія Borland ШАРІ більше відома під ім'ям BDE (Borland Database Engine).

В мові програмування Visual Basic була створена своя технологія роботи з базами даних MDB (Microsoft Access). Ця технологія дала змогу вільно управляти даними в БД

Само по собі ця обставина не є останньою новиною в області програмування — модульна архітектура і об'єктно-орієнтований підхід до побудови програм давно є визнаними стандартами. Новиною є те, що є цими компонентами і об'єктами — ними є безпосередньо виконуваний двійковий код — файли, які ніяк не треба «пов'язувати» з своїм проектом, — їх досить зареєструвати в операційній системі, і вони будуть доступні будь-якій програмі, що виконується на даній машині. Тобто їх використання в своїй програмі проводиться «без використання операцій збірки модуля».

Технологія DAO дозволяє підключатися до будь-яких баз даних, з розширенням MDB, достатньо лише вказати ім'я бази. База даних для даної програми була створена у Microsoft Access. Програми типу Microsoft Access можуть зберігати інформацію в декількох зв’язаних між собою таблицях і тому називаються реляційними базами даних. При вірній організації інформації всі таблиці можна вважати єдиною областю пам’яті та отримувати з них дані у відповідності із потребами.

4. 2 Опис розробленої програми

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

Рис. 4.1. Головне вікно програми

Головне вікно програми є відправним пунктом для проведення будь-яких операцій для користувача.

Для вибору необхідний дій треба користуватися пунктами головного меню.

Під час роботи з програмою ми будемо безпосередньо використовувати такі пункти головного меню:

1). «Файл» — цей пункт меню містить наступні пункти:

— «Открыть базу»

— «Выход»

2). «Выборка данных» — цей пункт меню містить наступний пункт:

— «Выбор условий отбора»

3) «Отчет»

Підменю «Файл» дає доступ до роботи з діалоговими вікнами, за допомогою яких можна здійснити різноманітні операції (відкриття бази даних, вихід з програми).

При виборі пункту меню «Файл» > «Открыть базу» ми бачимо діалогове вікно, за допомогою якого здійснюється вибір БД.

Рис. 4.2. Вибір БД

Після вибору бази ми бачимо що відображається основна таблиця БД.

Розглянемо цю процедуру краще, подивившись код програми:

Private Sub Vivod_Click ()

On Error GoTo ErrHandler:

CommonDialog1. CancelError = True

CommonDialog1. Filter = «Databases|*. mdb»

CommonDialog1. ShowOpen

On Error GoTo ErrHandler

Set db = OpenDatabase (CommonDialog1. filename)

Set rs = db. OpenRecordset («Select * from Osnov», dbOpenDynaset)

Set Data1. Recordset = rs

filename = CommonDialog1. filename

Form1. Vib_dan. Visible = True

Form1. Exit. Visible = True

Form1. Command1. Visible = True

Form1. Command2. Visible = True

Form1. otch. Visible = True

Exit Sub

ErrHandler:

MsgBox Err. Description

Exit Sub

End Sub

Спочатку я звертаюсь до об'єкту `ComandDialogControl' який повертае повний шлях, з ім'ям, до вибраного файлу. Об'єкт `ComandDialogControl' дозволяє таку можливість як виклик вікна вибору файлу, повертає цей об'єкт повний шлях або ім'я файлу. Потім формуємо Recordset і привласнюємо його як результат, який потрібно вивести об'єкту Data. З об'єктом Data в свою чергу пов’язаний елемент управління DataGrid, який і виводить те що ми відкрили в rs. Повний шлях до файлу присвоїли строковій змінний для того, щоб мати можливість отримувати шлях до файлу в кожній формі. Потім я показую кнопки які при запуску програми були не видні.

В випадку помилки при відкритті файлу, або відміни від відкриття файлу, або помилці при відкритті машина виводить повідомлення про те що була помилка і потім можна наново вибрати базу даних.

На рис 4.3 можна побачити результат цієї процедури:

Рис. 4.3. Основне вікно програми

На рис 4.3 ми бачимо що база відкрилась нормально і ще з’явились дві кнопки: «Удалить запись» и «Добавить запись».

При натисканні кнопки «Удалить запись» активний запис в DataGrid старається і таблиця перечитується наново, а показчик в DataGrid зміститься на один запис нижче.

При натисканні кнопки «Добавить запись»:

Рис. 4.5. Додавання записів у основну табицю БД

На рис 4.5 ми бачимо що здійснився переход на іншу форму на я кій розташовані елеиенти управління TextBox які в свою чергу пов’язані з елеметом управління Data. За допомогою Data управляючи данними можемо додавати в базу нивий запис з данними які будуть введені TextBox відповідно.

На цій формі ми бачимо дві кнопки «Ok» і «Cancel». При натисканні кнопки «Ok» виконується процедура:

Private Sub Ok_Click ()

On Error GoTo CancelUpdate

kod = 1

Form1. rs. Update

Form1. rs. MoveLast

Unload Me

Exit Sub

CancelUpdate:

MsgBox «Ошибка при вводе данных, попробуйте ввести еще раз»

Form1. rs. CancelUpdate

If Form1. rs. RecordCount Then Form1. rs. Bookmark = Form1. book

Unload Me

End Sub

По перше Form1. rs. Update — це запис в БД новий запис. Одномоментно машина перечитує Recordset і активним стає новий запис, який є останнім в таблиці. У випадку помилки, невідповідності данних і пустих значень машина буде відображати повідомлення з текстом «Ошибка при вводе данных, попробуйте ввести еще раз» і повертає активний запис який був до цього і можна знову ввести дані і зберегти їх. При нормальному збереженні ми повернемося до вікна головної таблиці і будемо бачити новий запис.

При натисканні кнопки «Cancel» в таблицю пусте поле не додається і ми повертаємося до головного вікна програми.

Повернувшись до головного вікна програми ми бачимо що в головному меню програми є кнопка «Выборка данных», яка маю підменю «Выбор условий отбора». При натисканні ми:

Рис. 4.6 Вікно вибірки даних

В цьому вікні можна вибрати підходящі варіанти запитів, і зберегти запит в іншому документі

На цій формі є три пункти головного меню «На главную», «Настройки», «Отчет»

При натисканні пункту головного меню «На главную» ми повертаємося на головне вікно, а це вікно закривається.

При натисканні пункту головного меню «Настройки» ми бачимо два підпункти: «Шрифт», «Цвет». При натисканні «Шрифт» ми бачимо діалогове вікно в якому здійснюється вибір шрифту, його розміру, яким будуть відображатися текст в елементі управління DataGrid. При натисканні пункту головного меню «Цвет» ми бачимо діалогове вікно в я кому здійснюється вибір кольору, яким буде відображатись текст в елементі управління DataGrid.

На рис 4.6 ми бачимо зліва від елемента управління прапорці. При натисканні на «Выборка по районам» з’являється елемент управління ComboBox в якому можна вибрати район який потрібен для запиту. При натисканні на «Выборка по улицам» з’являється елемент управління ComboBox в якому можна вибрати район який потрібен для запиту. При натисканні на «Выборка по количеству комнат» з’являється елемент управління Frame в якому можна вибрати кількість кімнат квартири яку потрібно знайти. Для виконання запиту є кнопка «Выполнить запрос» яка містить таку процедуру:

Private Sub Command1_Click ()

On Error Resume Next

Dim a, b, c, file As String

file = «zapros. txt»

DBGrid1. Refresh

If Combo1. Text < > «» Then a = «[Sprav_ray. Rayon] = '» & Combo1. Text & «'» Else a = ««

If Combo2. Text < > «» Then b = «[Sprav_ul. Ulica] = '» & Combo2. Text & «'» Else b = ««

If Check6. Value = 1 Then

If Option1. Value = True Then f = «[Osnov. Kol_kom] = 1»

If Option2. Value = True Then f = «[Osnov. Kol_kom] = 2»

If Option3. Value = True Then f = «[Osnov. Kol_kom] = 3»

If Option4. Value = True Then f = «[Osnov. Kol_kom] = 4»

End If

c = «and»

Open file For Output As #1

Print #1, «SELECT Osnov. Kod_kvar, Sprav_ray. Rayon, Sprav_ul. Ulica, Osnov. Chislo, Osnov. Orien, Osnov. Nom_dom, Osnov. [Nom_kvar/kom], Osnov. etaz, Osnov. Etaznost, Osnov. Kol_kom, Osnov. Cena, Sprav_riel. Rieltor, Osnov. Prim, Osnov. Obsh_plosh, Osnov. Zhilay_plosh, Osnov. Rash_plosh, Osnov. Kol_bal, Osnov. Vis_potol, Osnov. Kanal, Osnov. Opis_okon, Osnov. Opis_van, Osnov. Opis_kuh, Sprav_plan. Plan»

Print #1, «FROM Sprav_ul INNER JOIN (Sprav_riel INNER JOIN (Sprav_ray INNER JOIN (Sprav_plan INNER JOIN Osnov ON Sprav_plan. Kod_plan = Osnov. Kod_rasp) ON Sprav_ray. Kod_ray = Osnov. Kod_ray) ON Sprav_riel. Kod_riel = Osnov. Kod_riel) ON Sprav_ul. Kod_ul = Osnov. Kod_yl»

Print #1, «WHERE»

Print #1, a

If Combo1. Text < > «» And Combo2. Text < > «» Then Print #1, c

If Combo1. Text < > «» And Combo2. Text < > «» Then Print #1, b

If Check6. Value = 1 Then Print #1, c

Print #1, f; «;»

Close #1

Open file For Input As #1

str1 = Input (LOF (1), #1)

Close #1

Set d = OpenDatabase (Form1. filename)

Set w = d. OpenRecordset (str1, dbOpenDynaset)

Set Data3. Recordset = w

End Sub

Спочатку машина зчитує данні вибрані в елементах управління ComboBox і зчитує інформацію з елемента управління Options, формує змінна для оформлення запиту. Відкриваємо текстовий файл і записуємо у визначеній послідовності текст SQL запиту. Потім відкриваємо цей же файл і зчитуємо із файлу SQL запит і виконуємо його через елемент управління Recordset. Якщо в ході виконання цієї процедури буде помилка, то не буде системного переривання. А результат можемо побачити на рис. 4.7.

Рис. 4.7. Виконання запиту з вибраних умов

Наявні три параметри вибірки даних, за якими розраховується запит.

Також ми бачимо пункт головного меню «Отчет» який має такі підменю:

1. «В HTML»

2. «В MS Word»

3. «В MS Excel»

Натиснув на «В HTML» здійснюється передача запиту з вибраними вами записами в файл htm.

Private Sub otch_html_Click ()

Open «styles. css» For Output As #1

Print #1, «caption {color: green; font-family:» & nastr. FontN & «; font-size:» & nastr. FontH & «Pt; }»

Print #1, «TH {border-style: solid; border-width: 1px; font-family:» & nastr. FontN & «; font-size:» & nastr. FontN & «Pt; color: #» & nastr. Cvet & «;}»

Print #1, «TD {border-style: solid; border-width: 1px; font-family:» & nastr. FontN & «; font-size:» & nastr. FontH & «Pt; color: #» & nastr. Cvet & «;}»

Close #1

CommonDialog1. Filter = «Веб-страница (*. html)|*. html»

CommonDialog1. DefaultExt =". html"

CommonDialog1. ShowSave

Open CommonDialog1. filename For Output As #1

Data1. Recordset. MoveFirst

Print #1, «< HTML>»

Print #1, «< HEAD>»

Print #1, «< META HTTP-EQUIV=» «Content-Type»" CONTENT=" «text/html; Charset=Windows-1251""> «

Print #1, «< LINK REL=STYLESHEET TYPE=» «text/css»" HREF=" «styles. css"">»

Print #1, «< /HEAD>»

Print #1, «< BODY>»

Print #1, «< TABLE>»

Print #1, «< caption>»

Print #1, «Отчет данных по вашему запросу»

Print #1, «< /caption>»

Print #1, «< TR>»

For i = 0 To Data3. Recordset. Fields. Count — 1

Print #1, «< TH>»;

Print #1, Data3. Recordset. Fields (i). Name;

Print #1, «< /TH>»

Next

Print #1, «< /TR>»

Data3. Recordset. MoveFirst

Do While Not Data3. Recordset. EOF

Print #1, «< TR>»

For i = 1 To Data3. Recordset. Fields. Count

Print #1, «< TD>»;

Print #1, Data3. Recordset. Fields (i — 1);

Print #1, «< /TD>»

Next

Print #1, «< /TR>»

Data3. Recordset. MoveNext

Loop

Print #1, «< /TABLE></BODY></HTML>»

Close #1

Data3. Recordset. MoveFirst

ShellExecute 0, «open», CommonDialog1. filename, ««, ««, SW_MAXIMIZE

Exit Sub

NoHTML:

End Sub

Більш повно код викладено в додатку А

Спочатку програмним чином ми створюємо файл `styles. css' і записуємо в файл налаштунки для майбутнього сайту. Задаємо колір та шрифт нашому запиту, який буде виведений в HTML файл. Викликаємо діалогове вікно за допомогою якого зберігаємо наш звіт на жорсткому диску. За допомогою команди Print вписуємо потрібні нам теги для створення файлу. В циклі таким же чином ідучи по записам записуємо значення в файл, закриваємо файл. Після закриття відкриваємо створений файл через Internet Explorer.

Натиснув на «В MS Word» здійснюється передача запиту з вибраними вами записами в файл з розширенням doc. А ось більш детально:

Private Sub otch_word12_Click ()

On Error GoTo word_error

Dim app As New Word. Application

Dim doc As Word. Document

Dim p As Word. Paragraph

Dim t As Word. Table

app. Visible = True

Set doc = app. Documents. Add

doc. Select

Set p = doc. Paragraphs. Add

p. Range. Select

app. Selection. Text = «Отчет данных»

app. Selection. Font. Bold = True

app. Selection. Font. Color = & H800000

app. Selection. Font. Size = nastr. FontH

app. Selection. Font. Name = 20

p. Alignment = wdAlignParagraphCenter

doc. Paragraphs. Add

Set p = doc. Paragraphs (doc. Paragraphs. Count)

Set t = doc. Tables. Add (p. Range, 1, 9)

p. Range. Select

t. Cell (1, 1). Range. Select

app. Selection. Text = «Район»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 2). Range. Select

app. Selection. Text = «Улица»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 3). Range. Select

app. Selection. Text = «Количество комнат»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 4). Range. Select

app. Selection. Text = «Цена»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 5). Range. Select

app. Selection. Text = «Площадь»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 6). Range. Select

app. Selection. Text = «Планировка»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 7). Range. Select

app. Selection. Text = «Стоимость услуг»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 8). Range. Select

app. Selection. Text = «Зароботок агента»

app. Selection. Font. Color = nastr. Cvet

t. Cell (1, 9). Range. Select

app. Selection. Text = «Доход агенства»

app. Selection. Font. Color = nastr. Cvet

Data1. Recordset. MoveFirst

Do While Not Data1. Recordset. EOF

t. Rows. Add

t. Cell (t. Rows. Count, 1). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (1)

t. Cell (t. Rows. Count, 2). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (2)

t. Cell (t. Rows. Count, 3). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (8)

t. Cell (t. Rows. Count, 4). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (9)

t. Cell (t. Rows. Count, 5). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (11)

t. Cell (t. Rows. Count, 6). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (18)

t. Cell (t. Rows. Count, 7). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (19)

t. Cell (t. Rows. Count, 8). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (20)

t. Cell (t. Rows. Count, 9). Range. Select

app. Selection. Font. Bold = False

app. Selection. Text = Data1. Recordset. Fields (21)

Data1. Recordset. MoveNext

Loop

Exit Sub

word_error:

MsgBox Err. Description & Chr (13) & «Для выполнения необходимо наличие полей в активном recordset’e. «

End Sub

Спочатку підключаємо бібліотеку Microsoft Word 11.0 Object Library яка дозволяє нам звертатись до об'єктів VBA в MS Word. Спочатку ми об’являємо змінні типу Word. Application, типу Word. Table, типу Word. Paragraph, типу Word. Document які надають змогу звертатися до об'єктів VBA. За допомогою них ми і будемо будувати структуру потрібного нам документу. Далі ми створюємо документ, а на ньому параграф. Вписуємо туди заголовок нашого звіту та задаємо потрібні параметри кольору шрифту, його розміру, та назву шрифту встановленого користувачем на формі вибірки даних або тих що зберігаються на жорсткому диску. Вирівнюємо параграф з назвою звіту по центру. Створюємо табличку на потрібну нам кількість записів і заповнюємо її значеннями Recordset-а. У випадку помилки буде виведено повідомлені з кодом помилки.

Натиснув на «В MS Excel» здійснюється передача запиту з вибраними вами записами в файл з розширенням xls:

Private Sub Otch_excel_Click ()

On Error GoTo excel_error

Dim i As Integer

If Data1. Recordset. RecordCount = 0 Then MsgBox «В таблице отсутствуют данные для отчета»: Exit Sub

Dim e As New Excel. Application

e. SheetsInNewWorkbook = 1

e. Workbooks. Add

e. Columns (1). ColumnWidth = 5

e. Columns (2). ColumnWidth = 10

e. Columns (3). ColumnWidth = 10

e. Columns (4). ColumnWidth = 10

e. Columns (5). ColumnWidth = 15

e. Columns (6). ColumnWidth = 5

e. Columns (7). ColumnWidth = 5

e. Columns (13). ColumnWidth = 10

With e. Range («A2: v2»)

Font. Bold = True

HorizontalAlignment = xlCenter

MergeCells = True

End With

e. Cells (2, 1) = «Отчет данных»

e. Rows (2). Font. Bold = True

e. Rows (2). Font. Size = 20

e. Cells (3, 1) = Data1. Recordset. Fields (0). Name

e. Cells (3, 2) = Data1. Recordset. Fields (1). Name

e. Cells (3, 3) = Data1. Recordset. Fields (2). Name

e. Cells (3, 4) = Data1. Recordset. Fields (3). Name

e. Cells (3, 5) = Data1. Recordset. Fields (4). Name

e. Cells (3, 6) = Data1. Recordset. Fields (5). Name

e. Cells (3, 7) = Data1. Recordset. Fields (6). Name

e. Cells (3, 8) = Data1. Recordset. Fields (7). Name

e. Cells (3, 9) = Data1. Recordset. Fields (8). Name

e. Cells (3, 10) = Data1. Recordset. Fields (9). Name

e. Cells (3, 11) = Data1. Recordset. Fields (10). Name

e. Cells (3, 12) = Data1. Recordset. Fields (11). Name

e. Cells (3, 13) = Data1. Recordset. Fields (12). Name

e. Cells (3, 14) = Data1. Recordset. Fields (13). Name

e. Cells (3, 15) = Data1. Recordset. Fields (14). Name

e. Cells (3, 16) = Data1. Recordset. Fields (15). Name

e. Cells (3, 17) = Data1. Recordset. Fields (16). Name

e. Cells (3, 18) = Data1. Recordset. Fields (17). Name

e. Cells (3, 19) = Data1. Recordset. Fields (18). Name

e. Cells (3, 20) = Data1. Recordset. Fields (19). Name

e. Cells (3, 21) = Data1. Recordset. Fields (20). Name

e. Cells (3, 22) = Data1. Recordset. Fields (21). Name

Data1. Recordset. MoveFirst

i = 4

Do While Not Data1. Recordset. EOF

e. Cells (i, 1) = Data1. Recordset. Fields (0)

e. Cells (i, 2) = Data1. Recordset. Fields (1)

e. Cells (i, 3) = Data1. Recordset. Fields (2)

e. Cells (i, 4) = Data1. Recordset. Fields (3)

e. Cells (i, 5) = Data1. Recordset. Fields (4)

e. Cells (i, 6) = Data1. Recordset. Fields (5)

e. Cells (i, 7) = Data1. Recordset. Fields (6)

e. Cells (i, 8) = Data1. Recordset. Fields (7)

e. Cells (i, 9) = Data1. Recordset. Fields (8)

e. Cells (i, 10) = Data1. Recordset. Fields (9)

e. Cells (i, 11) = Data1. Recordset. Fields (10)

e. Cells (i, 12) = Data1. Recordset. Fields (11)

e. Cells (i, 13) = Data1. Recordset. Fields (12)

e. Cells (i, 14) = Data1. Recordset. Fields (13)

e. Cells (i, 15) = Data1. Recordset. Fields (14)

e. Cells (i, 16) = Data1. Recordset. Fields (15)

e. Cells (i, 17) = Data1. Recordset. Fields (16)

e. Cells (i, 18) = Data1. Recordset. Fields (17)

e. Cells (i, 19) = Data1. Recordset. Fields (18)

e. Cells (i, 20) = Data1. Recordset. Fields (19)

e. Cells (i, 21) = Data1. Recordset. Fields (20)

e. Cells (i, 22) = Data1. Recordset. Fields (21)

Data1. Recordset. MoveNext

i = i + 1

Loop

e. Rows (3). Font. Bold = True

e. Rows (3). HorizontalAlignment = xlCenter

With e. Range («A3: v» & CStr (i — 1))

VerticalAlignment = xlCenter

Borders (xlEdgeBottom). LineStyle = xlSolid

Borders (xlEdgeLeft). LineStyle = xlSolid

Borders (xlEdgeRight). LineStyle = xlSolid

Borders (xlEdgeTop). LineStyle = xlSolid

Borders (xlInsideHorizontal). LineStyle = xlSolid

Borders (xlInsideVertical). LineStyle = xlSolid

End With

e. Range («A4: B» & CStr (i — 1)). HorizontalAlignment = xlCenter

e. Range («A3: v» & CStr (i — 1)). Font. Name = Trim (nastr. FontN)

e. Range («A3: v» & CStr (i — 1)). Font. Size = nastr. FontH

e. Range («A4: v» & CStr (i — 1)). Font. Color = nastr. Cvet

Data1. Recordset. MoveFirst

e. Visible = True

Exit Sub

excel_error:

MsgBox Err. Description & Chr (13) & «Для отображения отчета необходимо, чтобы в активном recordset’е имелись все поля.» & Chr (13) & «Удостоверьтесь в наличии всех полей и попробуйте снова. «, vbExclamation, «Обнаружена ошибка!»

End Sub

Спочатку підключаємо бібліотеку Microsoft Excel 11.0 Object Library яка дозволяє нам звертатись до об'єктів VBA в MS Excel. Спочатку ми об’являємо змінну типу Excel. Application, яка надає змогу звертатися до об'єктів VBA. За допомогою них ми і будемо будувати структуру потрібного нам документу. Далі ми створюємо книгу, в ньому лист. Звертаючись до ячейки, за її адресою, записуємо туди заголовок нашого звіту та задаємо потрібні параметри кольору шрифту, його розміру, та назву шрифту, встановленого користувачем на формі вибірки даних або тих що зберігаються на жорсткому диску. Вирівнюємо заголовок звіту по центру ячейки. Створюємо табличку на потрібну нам кількість записів і заповнюємо її значеннями Recordset-а у циклі. У випадку помилки буде виведено повідомлені з кодом помилки, і поясненням змісту.

Закінчивши роботу з цією формою ми переходимо на основну форму і там:

Рис. 4.8. Головна форма програми

Ми бачимо в пункті головного меню ще одне меню — «Отчет». Це меню відображає в іншому вікні запит з розрахунками. Це вікно можна побачити на рис 4.9.

Рис. 4.9. Вікно звіту з надання послуг.

На цьому вікні в головному пункті меню ми бачимо два меню — «Отчет» і «Выход». В пункті «Отчет» є три підменю:

4. «В HTML»

5. «В MS Word»

6. «В MS Excel»

Опис цих підменю можна побачити вище. Меню «Выход» генерує вихід з програми.

Висновки

У результаті виконання даної курсової роботи було створене програмне забезпечення для автоматизації та підвищення ефективності роботи агентства з продажу нерухомості.

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

В процесі роботи було обрано методи розв’язання задачі - методи теорії алгоритмів, методи об'єктно-орієнтованого проектування. Для реалізації задачі на ЕОМ було створено базу даних з п’ятьох таблиць, призначену для зберігання вхідної інформації.

Відповідно до розробленої моделі, був визначений алгоритм побудови програми. Для реалізації алгоритму задачі на ЕОМ було обрано мову програмування Visual Basic. В якості СУБД для роботи із створеною базою даних використано Microsoft Access.

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

До переваг програми потрібно віднести можливості швидкого та зручного введення нової інформації у відповідну базу даних, отримання потрібних табличних результатів.

На основі проведеної роботи, можна з успіхом розвивати та вдосконалювати розроблену програмну систему та надавати їй нової функціональності.

Список використаних джерел

Microsoft Access 2002. Русская версия. Шаг за шагом: Практ. пособ. / Пер. с англ. — М.: Издательство ЭКОМ, 2002. — 352 с.

Волков А. А. Основы построения АСУ. Системы и системные исследования, ч. 1. — К.: КНИГА, 1978. — 59 с.

Волкова В.Н., Денисов А. А. Основы теории систем и системного анализа. — СПб: «СПбГТУ», 2001. — 370 с

Глушаков С.В., Коваль А. В., Смирнов С. В., Язык программирования Basic 6. — Харьков: Фолио, 2002. — 500 с. — учебный курс.

Дж. Обер-Крие. Управление предприятием. Пер. с франц. — М.: Сирин, 1997. — 257 с.

Жданов С. А. Основы теории экономического управления предприятием. Учебник. М.: Изд-во «Финпресс», 2000. — 384 с.

Задоров В. Б. Основи системного аналізу об'єктів i процесів комп’ютеризації (функціонально-технолоічний підхід). Частина 1. Введения до проблематики системного аналізу організаційних антропогенних систем (на прикладі інформаційних технологій бізнес-систем): Конспект лекій. К.: КНУБА, 2000. -95 с.

Зайченко Е. П. Исследование операций. — К.: Высшая школа, -1988. — 520 с.

Львовский Е. Н. Статистические методы построения эмпирических формул. Учебное пособие. — М.: Высшая школа, 1982. — 356 с.

Месарович У., Такахара И. Теория многоуровневых иерархических систем. М.: Мир. — 1982. — 385 с.

Моисеев Н. Н. Математические методы системного анализа. — М.: Наука, 1979. — 400 с.

ПоказатьСвернуть
Заполнить форму текущей работой