База даних крамниці спорттоварів
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
на курсовий проект з дисципліни
"Проектування баз даних"
студенту групи БС-12б інституту ІТКІ
Макаренко Андрій Ігорович
Тема: База даних крамниці
спорттоварів
.Проаналізувати діяльність крамниці
спорттоварів та обґрунтувати необхідність організації даних об’єкту у вигляді
бази даних.
. Розробити концептуальну та логічну
моделі бази крамниці спорттоварів та реалізувати їх за допомогою системи
керування базами даних та мов програмування. Схеми, що формалізують результати
виконання даного етапу, навести в графічній частині курсового проекту.
. Експериментально довести
коректність розроблених моделей та правильність реалізації бази даних.
Розробити інструкції з використання розробленого програмного забезпечення.
Вихідні дані:
мінімальна кількість сутностей - 6;
мінімальна кількість атрибутів у
кожній сутності - 4;
кількість відношень для яких
демонструється процес нормалізації до 3НФ; кількість запитів до бази даних - 4;
мінімальна кількість представлень
-3;
підтримка тригерних додавань даних.
АНОТАЦІЯ
УДК 681.325.5
Розробка автоматизованої системи для
крамниці спорттоварів. Курсовий проект/Макаренко А.І. - Вінниця: ВНТУ, 2014. -
с.
Курсовий проект присвячений розробці
програми для автоматизованого розрахунку продажів у крамниці спорттоварів. У
роботі проведено аналіз структури крамниці зі спортивними товарами. Було
розроблено та здійснено програмну реалізацію автоматизованої системи розрахунку
продажів спортивних товарів. Програмний продукт було протестованона предмет
ефективності роботи із базою даних та використаного методу захисту і розроблено
рекомендації щодо роботи з програмою. Також було розроблено інтерфейс
of an automated system for
sporting-goods store. Course project/ Makarenko A. I. - Vinnitsa: VNTU, 2014. -
р.project dedicated to the development of a program for automatic calculation
of sales in the sporting-goods store. In work the analysis of the structure
stores with sporting goods. Developed and implemented a software implementation
of an automated system for calculating sales of sporting goods. The software
product was protectionone concerning the efficacy of the work with the database
and used protection method and developed recommendations for working with the
program. Also, an interface was developed
ЗМІСТ
ВСТУП
. МОДЕЛЬ БАЗИ ДАНИХ
.1 Загальний огляд об’єкта проектування
.2 Розробка концептуальної моделі бази даних
.3 Розробка логічної моделі бази даних
. ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ
.1 Автоматизація обробки інформації
.2 Ядро програмного прикладного забезпечення
.3 Розробка візуального інтерфейсу
. ТЕСТУВАННЯ РОЗРОБЛЕНОЇ СИСТЕМИ
.1 Стислі відомості щодо розгортання системи
.2 Основні режими роботи із системою
.2.1 Інструкція системного програміста
.2.2 Режими роботи користувачів
.3 Результати тестування та рекомендації шодо удосконалення
розробленої системи
ВИСНОВКИ
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ
ДОДАТОК
ВСТУП
Створення бази даних є дуже актуальним видом праці у сучасному
світі торгівлі. З їх допомогою можна впорядкувати дані у таблиці, які можна
дуже легко використовувати навіть не досвідченому користувачу. Цей програмний
засіб являється альтернативою тяжких облікових журналів, списків. За допомогою
Microsoft SQL Server можна створити потужну базу даних. Але існують проблеми із
складністю створенням. Величезна база даних також потребуватиме потужний
комп’ютер.
Бази даних дуже широко використовується не тільки у сфері
торгівлі, а й у реалізації різноманітних web-сторінок, видавництвах, державних
структурах. До того бази даних бувають дуже великих розмірів. Наприклад у
Україні налічується понад 46 мільйонів людей, які всі без винятку внесені у
державну базу даних, і мають свій ідентифікаційний код - ключ, за допомогою
якого можна дізнатися про людину будь-яку інформацію.
Бази даних характеризуються значною кількістю даних, незалежністю
даних, відкритим доступом до даних, підтримкою транзакцій з гарантією
відповідних властивостей, гарантована відсутність збоїв, одночасна робота з
багатьма користувачами. З подальшим розвитком бази даних змінюються й ці вимоги
та додаються нові, тому одностайності щодо повноти цієї характеристики немає.
Об’єктом проектування є крамниця спорттоварів, у якій продаються
спортивний інвентар, якісне спортивне взуття та одяг.
Метою проектування бази даних є автоматизація процесу торгівлі,
закупівлі товару.
До задач курсового проекту можна віднести розробку бази даних,
створення унікального та зручного інтерфейсу, перерозподіл персоналу, який
певним чином має керувати базою даних.
1. МОДЕЛЬ БАЗИ ДАНИХ
.1 Загальний огляд об’єкта проектування
На етапі формування й аналізу вимог установлюються цілі і
специфічні вимоги до інформаційної системи. Для того щоб розробити надійну
систему, необхідно проаналізувати сферу, до якої буде присвоєно базу даних.
У даному курсовому проекті було запропоновано мережу магазинів
«Мегаспорт». У ній продаються товари високої якості. Наявні товари таких
брендів як Nike, Adidas, New Balance, Cat, Tom Taylor, Ice Peak та багато
інших[1]. Також у цьому магазині є багато спортивного реквізиту такого, як
м’ячі, спортивні рукавички, окуляри для плавання, спортивні сумки та портфелі,
ракетки для тенісу.
Постачальники є з різних країн, їх четверо. Кожен постачальник
постачає продукт за різними цінами, та має свої філіали.
У магазині працює шестеро робітників, частина із них продає товар,
обслуговує приміщення. Ті, що продають товар, виписують рахунок клієнту.
Покупець, який у разі придбанні товару має знижку, накопичує загальну суму від
покупок цього клієнта.
.2 Розробка концептуальної моделі бази даних
Для того, щоб розробити надійну інформаційну систему бази даних
необхідно визначити сутності[4]. Для цього треба розібрати структуру
функціонування крамниці спорттоварів.
Так як крамниця не зможе існувати без предмету продажу, було
обрано першою сутністю товари. Ця сутність має включати в себе назву товару,
всі параметри, ціну та того, хто буде постачати цей товар[3].
Другою сутністю було обрано «Рахунок», яка об’єднує всю інформацію
про продаж, а саме товар, продавця та знижку. Також ця сутність включає в себе
дату продажу товару.
Для того, щоб ідентифікувати товар, постачальника, дату продажу
або іншу інформацію, було введено атрибути, що пояснюють зв’язок між
сутностями[6].
Товар - ця сутність отримує значення товару, який продається у
крамниці спорттоварів, та постачається у неї. Всі характеристики таких товарів
як взуття, одяг, спортивний інвентар будуть описані у цій сутності. До цих
характеристик можна віднести: розмір, колір та матеріал товару. У цій сутності
вказану ціну за якою було куплено товар у постачальника. Додаткові
характеристики спортивного інвентарю описані у описі товару.
Кадри - ця сутність отримує інформацію про персонал, який
обслуговую крамницю. Ця інформація включає в себе: ПІБ працівника, його
домашній адрес, номер його мобільного телефону, посаду та заробітну плату. У
ній присутні продавці, технічний персонал та директор крамниці.
Рахунок - ця сутність отримує інформацію про продаж товарів. У ній
наявні відомості про дату продажу, ціну продажу з урахуванням націнки а саме 50
гривень. В ній наявна ще інформація про робітника який продав товар, та сам
товар який був проданий.
Знижки - ця сутність отримує значення про знижку, якою
скористується покупець. Ця сутність включає інформацію про процент знижки, про
ім’я клієнта, дату кінця знижки на товар та загальну суму витрачених коштів
цього покупця.
Було створено ER-модель по типу Пітера Чена на якій множина
сутностей зображена у вигляді прямокутників, множина відношень у вигляді
ромбів[8]. Якщо сутність бере участь у відношенні - вони зв’язані лінією.
Атрибути зображені у вигляді овалів і зв’язані лінією з сутністю(додаток Б).
1.3 Розробка логічної моделі бази даних
Нормалізація - це процес перетворення відношення, яке має деякі
недоліки, у відношення, яке цих недоліків не має[2].
Нормальна форма - властивість відношення в реляційної моделі
даних, що характеризує його з точки зору надмірності, яка потенційно може
призвести до логічно помилкових результатів вибірки або зміни даних. Нормальна
форма визначається як сукупність вимог, яким має задовольняти відношення[3].
Для нормалізації до першої нормальної форми потрібно щоб всі
атрибути були не атомарними(кожен атрибут має лише одне значення).
Сутність «Рахунок» має атрибути «Назва_товару», «Клієнт», що має
знижку, «Кадри» який продав цей товар, «дата продажу», «Термін гарантії»,
«Загальна вартість». Всі атрибути є атомарними, та не потребують змін.
Сутність «Товар» має атрибути «Назва товару» «Розмір», «Колір»,
«Матеріал», «Постачальник», «Ціна закупівлі», «Опис». Атрибут «Постачальник» не
є атомарний, тому необхідно створити сутність «Постачальники». Ця сутність має
включати такі атрибути, як «Назва постачальника», «Дата поставок», «Адреса». Ця
сутність має не атомарний атрибут «Адреса» тому, що постачальник може мати
декілька точок збуту. Сутність «Адреса» має такі атрибути, як «Назва точки
філіалу», «Країна», «Місто», «Вулиця», «Номер дому», «Почтовий індекс», «ПІБ
представника».
Сутність «Кадри» має атрибути «ПІБ робітника», «Адреса»,
«Мобільний телефон», «Посада», «Зарплата». Всі атрибути є атомарними, тому
немає необхідності ділити ці атрибути.
Сутність «Знижки» має атрибути «ПІБ клієнта», «Процент», «Дата
видачі знижки», «Загальна сума» які є атомарними.
Результат перетворення бази даних у першу нормальну форму можна
побачити на рисунку 1.1.
Рисунок 1.1 - База даних нормалізована до 1НФ
База даних знаходиться у другій нормальній формі, коли вона
знаходиться у першій нормальній формі, та всі її не ключові атрибути
функціонально залежні від цілих потенційних ключів. Тобто кожна із сутностей,
які були створені у першій нормальній формі, необхідна оголосити ключовий
атрибут, який буде поєднувати сутності між собою. Для сутності «Товар» атрибут
«Назва товару» не може бути унікальною тому-що назва може бути однаковою але
вид товару може бути іншим. Тоді додамо ключовий атрибут «ID_товару».
Аналогічним чином добавимо для сутностей «Постачальники», «Кадри», «Знижки»,
«Адреса», «Кадри» відповідні поля ключові атрибути: ID_постачальника,
ID_клієнта, ID_адреса, ID_робітника, ID_знижки.
Для сутності «Рахунок» замінимо атрибути «Товар» на «ID_товару»,
«Робітник» на «ID_робітника», «Знижка» на «ID_знижки». У сутності «Товари»
змінимо назву атрибуту «Постачальник» на «ID_постачальника». У сутності
«Постачальники» змінимо атрибут «Адреса» на «ID_адреса».
Результати нормалізації бази даних крамниці спорттоварів можна
побачити на рисунку 1.2.
Рисунок 1.2 - База даних нормалізована до 2НФ
База даних знаходиться у третій нормальній формі коли вона
знаходиться у другій нормальній формі, у ній відсутня транзитивно-функціональна
залежність. Так, як у створеній базі даних відсутня транзитивно-функціональна
залежність, то база даних вважається нормалізованою до третьої нормальної
форми.
2. ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ
.1 Автоматизація обробки інформації
Після того як розроблена нормалізована логічна модель бази даних
її потрібно реалізувати за допомогою Microsoft SQL Server Management Studio[7].
Для того, щоб створити базу даних необхідно підключитися до
серверу SQL (рисунок 2.1).
Рисунок 2.1 - Підключення до SQL сервера
Після підключення, необхідно у «Обозреватиле обьектов» створити
базу даних(рисунок 2.2).
Рисунок 2.2 - Створення бази даних
Для створення таблиць необхідно створити новий SQL запит(рисунок
2.3).
Рисунок 2.3 - Запит для створення таблиць
Після створення таблиць необхідно визначити тип зв’язку між ними.
Було обрано каскадний (Каскадно) тип зв’язку тому, що він добре підходить ля
редагування ключів таблиць[7]. Обраний він був для всіх таблиць(рисунок 2.4).
Рисунок 2.4 - Встановлення типу зв’язку між таблицями
Отримавши значення таблиці, необхідно її заповнити. Для цього було
створено запити для додавання даних у таблиці.
Для додавання персоналу у таблицю «Кадри» було створено запит,
показаний на рисунку 2.5.
Рисунок 2.5 - Додавання значень до таблиці «Кадри»
Схожим запитом додається значення у таблицю адресів філіалів
постачальника(Рисунок8).
Рисунок 2.6 - Додавання значень до таблиці «Адреса»
Додавання усіх значень виходить аналогічним чином для інших
таблиць(додаток В).
Для того, щоб зручніше додавати значення у таблицю «Рахунок» було
створено тригер[5], який автоматично робить націнку на товар у розмірі 50
гривень(рисунок 2.7).
Рисунок 2.7 - Вигляд тригеру
У результаті було отримано значення (рисунок 2.8).
Рисунок 2.8 - Результат виконання тригеру
Для того, щоб клієнт міг отримати знижку, було створено тригер[5],
який автоматично розраховує знижку у таблиці «Рахунок»(рисунок 2.9).
Рисунок 2.9 - Результат виконання тригеру який розраховує знижку
Для того, щоб було зручніше було дивитись на базу даних, було
розроблено 4 запити.
Перший запит був розроблений для того, кому подобається фірма
Adidas, та він саме шукає товари тільки цього бренду(рисунок2.10).
Рисунок 2.10 - Запит, що виводить тільки бренд Adidas
Другий запит виводить інформацію про постачання в період з
01.01.2014 по 03.02.2014(рисунок 2.11).
Рисунок 2.11 - Виведення інформації про постачання
Третій запит виводить інформацію про того робітника, в якого
зарплата нижче за дві тисячі гривень(Рисунок 2.12).
Рисунок 14 - Запит, що виводить робітника із зарплатою менше 2000
Четвертий запит виводить товар, який має будь який колір окрім
синього(рисунок 2.13).
Рисунок 2.13 - Запит, який не виводить товар синього кольору
Перше представлення полягає у вигляді рахунку, яким він видається
клієнту після придбання товару. Створений він був за допомогою запиту(Рисунок
2.14).
Рисунок 2.14 - Представлення рахунку для клієнта
Друге представлення полягає у тому, що виводить інформацію про
постачальника, та його філіали(Рисунок 2.15).
Рисунок 2.15 - Представлення, що виводить інформацію про
постачальника
Третє представлення було створене для того, щоб виводити
інформацію про рахунок на який надано знижку клієнтам(рисунок 2.16).
Рисунок 2.16 - Рахунки з фіксованими знижками
На даному етапі було розроблено базу даних, створено до неї два
тригери які обраховують кінцеву ціну на товар, створено чотири запити, та три
представлення.
.2 Ядро програмного прикладного забезпечення
В роботі використовується технологія доступу ADO. Технологію ADO
можна охарактеризувати як найбільш сучасну технологію розробки додатку для
роботи з розподіленими БД за технологією клієнт-сервер. ADO являє ієрархічну
модель об'єктів для доступу до різних OLE DB- провайдерам даних. Об'єктна
модель ADO включає об'єкти, що забезпечують з'єднання з провайдером даних,
створення SQL-запитів до даних і т.д. Особливістю технології ADO є можливість
її використання в додатках для доступу до різних джерел даних.
В технології ADO для приєднання бази даних використовується команда
Connection та Recordset для приєднання таблиць і витягування з них даних. Для
переміщення по сутності використовуються команди EOF і BOF, які дають змогу
переміщати курсор на перший і останній запис[4].
У цій базі даних було створено 3 групи користувачів, а саме
«Boss», «Worker», «Post». Користувачі групи «Boss» мають необмежені права на
користування базою даних. Користувачі групи «Worker» можуть додавати,
оновлювати або видаляти дані із таблиць, а користувачі «Post» мають право на
перегляд бази даних. Процес створення користувачів описаний у додатку В.
2.3 Розробка візуального інтерфейсу
Для розробки зручного інтерфейсу був використаний звичайний
редактор форм в Visual Basic for Applications. Для того, щоб впорядкувати дані,
було створено 9 форм (рисунок 2.17).
Рисунок 2.17 - Створені форми
Для того, щоб підключитись до бази даних, необхідно пройти
авторизацію у формі «Авторизація»(рисунок 2.18).
Рисунок 2.18 - Вигляд форми «Авторизація»
Для того, щоб можна було скомпонувати всі форми, було розроблено
основну форму «menu» (рисунок 2.19).
Рисунок2.19 - Головна форма «Менюu»
За допомогою цієї форми можна запустити форму «Товари» яка надає
можливість видалення, додавання даних які було введено у додатку В та
можливість переглядати дані, затирати поле. Всі форми, що були створені, а
саме: «Постачальники», «Знижки», «Рахунок». «Кадри», «Адреса» працюють
аналогічно формі «Товари», та мають такі самі можливості для редагування
полів(рисунок 2.20). Але кожна з цих форм має різну кількість полів. Тому ці
форми мають різні розміри. Розташування елементів керування, а саме кнопки для
переключення між полями, кнопка підключення до бази даних, кнопки додавання та
видалення даних, є доволі зручним. У всіх формах ці елементи керування
однакові.
Рисунок 2.20 - Вигляд форми «Товари»
До того ж у формі «Меню» можна вибрати такий пункт «Про автора»,
після цього буде викликана форма «Інформація про автора»(рисунок 2.21).
Рисунок 2.21 - Форма «Про автора»
У даному розділі було розроблено базу даних, яка включає в себе
шість таблиць, два тригери, чотири запити та три представлення. Лістинг
програми знаходиться у додатку Г.
3. ТЕСТУВАННЯ РОЗРОБЛЕНОЇ СИСТЕМИ
.1 Стислі відомості щодо розгортання системи
Створений курсовий проект був виконаний на ноутбуці Dell Inspiron
17R на операційній системі Windows 8 із розрядністю x64. Для того, щоб проект
працював коректно, рекомендується використовувати також операційну систему
Windows 8. Проект буде працювати за умови попереднє встановлених таких програм,
як: Microsoft SQL Server Management Studio та Microsoft Word 2010.
Для оптимального користування базою даних необхідно мати такі
характеристики персонального комп’ютера:
процесор Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz ~3.2GHz;
оперативна пам’ять 8.00 ГБ;
монітор із розширенням 1920 Х 1080 пікселей;
клавіатура, та миша;
пам’ять на жорсткому диску не менше 12 ГБ.
.2 Основні режими роботи із системою
Для того, щоб користуватись базою даних, необхідно пройти
авторизацію ввівши логін та пароль користувачів. Кожен користувач має свою
роль.
.2.1 Інструкція системного програміста
Програма призначена для роботи користувачів з таблицями.
Користувачі мають змогу переглядати дані та редагувати їх. Для роботи програми
має бути наявна база даних розроблена у середовищі Microsoft SQL Server
Management Studio.
Додаток складається з дев’яти форм. Перша форма яка появиться це
форма авторизації, користувач повинен ввести правильний логін і пароль який
відповідає базі даних. Після коректного вводу появиться вікно меню в якому
користувач повинен вибрати таблицю з якою буде у подальшому працювати. Для
перевірки програми потрібно ввійти під певним користувачем, вибрати таблицю,
підключитись і спробувати переглянути записи, додати новий запис та видалити
якийсь.
При введенні неправильного логіна чи пароля з’являється
повідомлення помилки. Якщо користувач з правами тільки на перегляд даних
спробує редагувати їх, то видасть помилку про заборону виконання даних дій.
.2.2 Режими роботи користувачів
Інструкція оператора
Програма призначена для роботи з базою даних. Вона дає можливість
авторизації користувачів для захисту. Роботу можна виконувати зі всіма
розробленими таблицями. В кожній таблиці можна переглядати дані, додавати їх та
видаляти.
Для того щоб працювати з додатком повинна бути розроблена база
даних в Microsoft SQL Server Management Studio з якою і буде працювати додаток.
Таблиці повинні мати хоч якісь записи для того щоб можна було переглядати їх.
При перегляду значень рівних нулю, видається помилка.
Запустивши додаток, з’явиться вікно авторизації в яку потрібно
ввести логін та пароль користувача, якому наданий доступ до цієї бази даних.
Після коректного входу з’явиться вікно. В ньому можна вибрати одну з таблиць
для подальшої роботи. У вікні кожної з таблиць є ряд кнопок для роботи з
даними. Спочатку натиснути кнопку «Підключитись» для під’єднання даних з бази.
Дані можна переглядати за допомогою кнопок «<» і «>» та очищувати поля
від даних кнопкою «Очистити». Записавши новий запис до таблиці натиснути кнопку
«Додати» і запис буде додано. Вибравши дані та натиснувши кнопку «Видалити»
дані будуть видалені
При неправильному вводі логіна чи пароля з’явиться повідомлення
про помилку, тому потрібно вводити правильні дані. Звичайному користувачу
дозволено тільки переглядати дані, тому при спробі додати чи видалити запис
видасть повідомлення з забороною дії.
.3 Результати тестування та рекомендації щодо удосконалення
розробленої системи
Для того, щоб почати роботу з базою даних, необхідно запустити
додаток. Після його запуску з’явиться форма авторизації у систему(рисунок 3.1),
де необхідно ввести логін та пароль від системи.
Рисунок 3.1 - Вигляд форми для авторизації у систему
Після введення правильного логіну і паролю натиснемо на кнопку
«Авторизація». Після цього автоматично відкриється форма «Меню»(рисунок 3.2).
Рисунок 3.2 - Вигляд форми «Меню»
Для того, щоб протестувати систему довільно вибрано таблицю, а
саме «Адреса». До таблиці переходимо натиснувши на кнопку «Адрес». З’явиться
форма (рисунок 3.3), але для того щоб почати з нею працювати, необхідно
підключитися до бази даних.
Рисунок 3.3 - Вигляд форми, яка не підключена до бази даних
Форма, яка підключена до бази даних, автоматично набирає саме
перше значення полів(рисунок 3.4).
Рисунок 3.4 - Форма, що під’єднана до бази даних
Спробуємо зчистити поля натиснувши на кнопку «Очистка». Після
вдалого очищення, спробуємо додати якісь довільні значення до бази
даних(рисунок 3.5).
Рисунок 3.5 - Введення у форму довільних значень
Після натискання кнопки «Додати», перевіримо чи додались значення
полів у SQL Management Studio.
У додатки також існує функція видалення значень полів. Спробуємо
видалити значення полів, які щойно записали. Для цього за допомогою стрілок
«<» та « >» знаходимо запис(рисунок 3.6).
Рисунок 3.6 - Видалення значень полів
Функції додавання та видалення даних поширюються на всі форми у
цьому додатку.
Отже, у даному розділі було охарактеризовано основні режими роботи
із системою, охарактеризовано необхідний портативний комп’ютер для користування
створеним додатком. Було проведено тестування створеного додатку, створення та
видалення довільного запису у таблиці «Адрес».
ВИСНОВКИ
Згідно з індивідуальним завданням було розроблено базу даних
крамниці спорттоварів. Визначивши загальні норми цієї теми, було обрано
значення яких у подальшому бузу даних приймала б. До цих значень відносяться
товари, які продаються у крамниці спорттоварів, рахунок, який видається клієнту
при покупці товару, список працівників які там працюють, та постачальники.
У цій базі даних було визначено шість сутностей, створено
концептуальну модель, побудовано ER-модель по типу Питера Чена. Також була
виконана нормалізація до третьої нормальної форми, створена логічна модель бази
даних.
За допомогою інструменту для створення баз даних Microsoft SQL
Server Management Studio, було реалізовано базу даних, побудовані зв’язки,
створені представлення, тригери, процедури, запити. Також було створено
користувачів бази даних та визначено їх привілеї.
Після внесення у вже створену базу даних значення полів, було
реалізовано інтерфейс взаємодії бази даних та користувача. Створений він був за
допомогою мови Visual Basic for Applications (VBA) у стандартній утиліті
Microsoft Word 2010. У інтерфейсі було створено дев’ять форм, де шість із них
відповідали за створені раніше таблиці, форма меню була створена для поєднання
всіх цих шести форм, для легкості доступу до системи. Одна форма була створена
для авторизації у систему, і остання форма вказує інформацію про автора.
Протестувавши базу даних, та інтерфейс, беззаперечно можна
стверджувати, що даний метод накопичення інформації є найкращим та найзручнішим
для сфери торгівлі, а саме для крамниці спорттоварів. Із недоліків можна
виділити нестабільність роботи інтерфейсу, але ю проблему можна вирішити шляхом
вдосконалення знань у мові VBA.
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ
Каталог товарів/Мережа магазинів Мегаспорт [Електронний ресурс]. -
Режим доступу: #"792111.files/image033.gif">
ДОДАТОК В
Лістинг створення бази
даних
Створення таблиць
Create table
Адреса (ID_адреси int primary key, Назва_філіалу char(50) not null,
Місто char(25) not null, Вулиця char(50), Номер_будинку char(10),
Поштовий_індекс int, ПІБ_представника char (50) )
Create table
Постачальник(ID_Постачальника int primary key,
Назва_Постачальника char(20),
ID_адреси int not null foreign key references
Адреса(ID_адреси), Дата_Поставок datetime
not null)
create table
Кадри(ID_робітника int primary key, ПІБ_робітника char(50), Посада char(25),
Адреса char(50), Мобільний_телефон numeric(18,0), Зарплата int)
Create table
Знижка(ID_знижки int primary key, ПІБ_Клієнта char(40),
Відсоток int, Термін_дії datetime, Загальна_сума int)
Create table
Товари(ID_товару int primary key, Назва_моделі char(50),
Розмір char(50), Колір char(500), Матеріал char(50),
Ціна_закупівлі int, ID_Постачальника int not null
foreign key references Постачальник(ID_Постачальника))
Create table
Рахунок(ID_рахунку int primary key, ID_товару int not null
foreign key references Товари(ID_товару),
ID_знижки int not null foreign key references Знижка(ID_знижки),
ID_Робітника int not null foreign key references Кадри(ID_Робітника),
Ціна int not null, Дата_продажу datetime)
Заповнення
даними таблиці «Адрес»
use Крамниця_Спорттоварів
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (1,
'РПК','Берлін','ЦВаркин',21,21054,'Ruber A.K.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (2,
'Adik','Київ','Хрещатик',125,21251,'Воронцова А.І.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (3,
'CH','Пекін','ЦінКУінь',4515,48201,'Сяньсунь П.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Поштовий_індекс, ПІБ_представника)
values (4,
'BRITclav','Лондон',47221,'Карл В.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (5,
'BRITsh','Велингтон','Стар Завойовника',2,47152,'Вінсент Д.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (6,
'BRITkam','Клівленд','Арона',41,47121,'Аврам Б.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (7,
'SW','Одесса','Циганська',13,24251,'Моряк І.Г.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (8,
'SWHEAD','Миколаїв','Кастрюлькіно',85,23251,'Мастирькіна А.П.')
Insert into
Адреса(ID_адреси, Назва_Філіалу, Місто, Вулиця, Номер_Будинку, Поштовий_індекс, ПІБ_представника)
values (9,
'SWShwarz','Вінниця','Літвиненка',1,21014,'Твердохліб С.Г.')
Заповнення
даними таблиці «Постачальники»
USe Крамниця_Спорттоварів
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (1,
'China Corp.',3,'20140310')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (2,
'Odessa Port',7,'20140122')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (3,
'Odessa Port',8,'20140123')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (4,
'Odessa Port',9,'20140121')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (5,
'Europe SC',1,'20141211')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (6,
'UK sportwear',4,'20140511')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (7,
'UK sportwear',5,'20140512')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (8,
'UK sportwear',6,'20140513')
Insert into
Постачальник(ID_Постачальника, Назва_постачальника, ID_адреси, Дата_поставок)
values (9,
'China Corp.',2,'20140310')
Заповнення
даними таблиці «Товари»
Крамниця_СпортТоварів
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (1,
'Adidas ZX 750','41','Синій','Шкіра, Замш', 'Вибір для весни', '80', 2)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (2,
'Adidas ZX 750','42','Синій','Шкіра, Замш', 'Вибір для весни', '80', 2)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (3,
'Adidas ZX 750','43','Синій','Шкіра, Замш', 'Вибір для весни', '80', 9)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (4,
'Adidas ZX 750','43','Червоний','Шкіра, Замш', 'Найкращий вибір для весни',
'80', 2)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (5,
'Adidas ZX 950','41','Чорний','Шкіра', 'Вибір міліонів', '120', 1)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (6,
'Adidas ZX 950','42','Чорний','Шкіра', 'Вибір міліонів', '120', 1)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (7,
'Adidas ZX 950','43','Чорний','Шкіра', 'Вибір міліонів', '120', 1)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (8,
'Adidas ZX 950','44','Чорний','Шкіра', 'Вибір міліонів', '120', 1)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (9,
'Nike Air Max','41','Різнокольоровий','Шкіра', 'Практичні, зручні', '95', 4)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (10,
'Nike Air Max','39','Різнокольоровий','Шкіра', 'Практичні, зручні', '95', 4)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (11,
'Nike Air Max','45','Різнокольоровий','Шкіра', 'Практичні, зручні', '95', 4)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (12,
'Polo Fred Perry','S','Білий','Котон 100%', 'Елегантність та ціна',
'68', 5)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (13,
'Polo Fred Perry','L','Білий','Котон 100%', 'Елегантність та ціна',
'68', 5)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (14,
'Polo Fred Perry','XL','Білий','Котон 100%', 'Елегантність та ціна',
'68', 5)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (15,
'Polo Fred Perry','L','Зелений','Котон 100%', 'Елегантність та ціна',
'68', 6)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (16,
'Adidas FootBall','Стандартний','Білий, чорний','Шкіра', 'Легкий м"яч', '180', 7)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (17,
'Adidas FootBall','Стандартний','Білий','Шкіра', 'Граємо разом', '140', 7)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (18,
'Ракетки Sekir Х2','Стандартний','Жовтий','Метал, дерево', 'Краща гра у теніс', '45', 9)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (19,
'Ракетки Sekir Х2','Стандартний','Синій','Метал, дерево', 'Краща гра у теніс', '45', 9)
Insert into
Товари(ID_Товару, Назва_моделі, Розмір, Колір, Матеріал, Опис, Ціна_Закупівлі, ID_Постачальника )
values (20,
'Окуляри Аква','Стандартний','Червоний','Гума, пластик', 'Бачимо все і скрізь',
'25', 3)
Заповнення
даними таблиці «Кадри»
use Крамниця_Спорттоварів
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (1,
'Корнієнко П.І.','Волоносова 42',0933033897,'Продавець Консультант',2000)
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (2,
'Кацап І.С.','Літвиненко 44',0956251221,'Касир1', 2500)
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (3,
'Макаренко А.І.','Примакова 19',0933033898,'Директор', 8500)
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (4,
'Оніщенко В.Ю.','Село Барвіновці',0684541527, 'Касир2', 2500)
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (5,
'Клопотенко К.Ж.','Підпільна 21',0975856482, 'Представник', 4000)
Insert into
Кадри(ID_Робітника, ПІБ_робітника, Адреса, Мобільний_телефон, Посада, Зарплата)
values (6,
'Мурат А.І.','Хористського 43',0975482319, 'ЗавХоз', 150
Заповнення
даними таблиці «Знижка»
USe Крамниця_СпортТоварів
Insert into
Знижка(ID_знижки, ПІБ_клієнта, Відсоток, Термін_дії, Загальна_сума)
values (1,
'Сельман А.І.',15,'20150912', 1205)
Insert into
Знижка(ID_знижки, ПІБ_клієнта, Відсоток, Термін_дії, Загальна_сума)
values (2,
'Кожумяка В.Н',10,'20150928', 400)
Insert into
Знижка(ID_знижки, ПІБ_клієнта, Відсоток, Термін_дії, Загальна_сума)
values (3,
'Ствол Х.П.',15,'20150912', 1205)
Insert into
Знижка(ID_знижки, ПІБ_клієнта, Відсоток, Термін_дії, Загальна_сума)
values (4,
'Барак О.',22,'20151214', 8500)
Insert into
Знижка(ID_знижки, ПІБ_клієнта, Відсоток, Термін_дії, Загальна_сума)
values (5,
'Кацап С.К',3,'20150901', 150)
ДОДАТОК
Г
Створення користувачів
у базі даних
Створення ролей
Надання
ролям привілеїв
Створення
логіну входу у систему та створення користувачів
ДОДАТОК
Д
Лістинг коду
інтерфейсу
Лістинг для форми
«Авторизація»
Dim cn As New
ADODB.ConnectionstrConn As StringSub CommandButton1_Click()= TextBox1.Value=
TextBox2.Value(TextBox1.Value = "") ThenIf= "Driver={SQL
Server};Server=ANDRY; Database=Крамниця_Спорттоварів;" & _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.Hide.ShowSubSub
Label1_Click()Sub
Private Sub Autor_Click().ShowSubSub
tovaru_Click().ShowSubSub Adressa_Click().ShowSubSub posta_Click().ShowSubSub
rah_Click().ShowSubSub znuzk_Click().ShowSubSub author_Click().ShowSubSub
kadr_Click().ShowSub
Лістинг для форми
«Товари»
Dim cn As New ADODB.Connectionrs As
New ADODB.RecordsetstrConn As StringSub Clear_Click().Value =
"".Value = "".Value = "".Value =
"".Value = "".Value = "".Value =
"".Value = ""SubSub Con_Click()cn =
CreateObject("ADODB.Connection") 'NEW STATEMENTrs =
CreateObject("ADODB.Recordset") 'NEW STATEMENT= "Driver={SQL
Server};Server=ANDRY; Database=Крамниця_Спорттоварів;" & _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.CursorType =
adOpenStatic.Open "select * from Товари", cn.MoveFirst
TextBox1.Value = rs![ID_товару]
TextBox2.Value =
rs![Назва_моделі]
TextBox3.Value = rs![Розмір]
TextBox4.Value = rs![Колір]
TextBox5.Value = rs![Матеріал]
TextBox6.Value =
rs![Ціна_закупівлі]
TextBox7.Value = rs![Опис]
TextBox8.Value =
rs![ID_постачальника]SubSub Nex_Click().MoveNextrs.EOF = True Then.MoveFirst
TextBox1.Value = rs![ID_товару]
TextBox2.Value =
rs![Назва_моделі]
TextBox3.Value = rs![Розмір]
TextBox4.Value = rs![Колір]
TextBox5.Value = rs![Матеріал]
TextBox6.Value =
rs![Ціна_закупівлі]
TextBox7.Value = rs![Опис]
TextBox8.Value = rs![ID_постачальника]
End IfSubSub
Prev_Click().MovePrevious
If rs.BOF = True Then
rs.MoveLast
Else
TextBox1.Value = rs![ID_товару]
TextBox2.Value =
rs![Назва_моделі]
TextBox3.Value = rs![Розмір]
TextBox4.Value = rs![Колір]
TextBox5.Value = rs![Матеріал]
TextBox6.Value =
rs![Ціна_закупівлі]
TextBox7.Value = rs![Опис]
TextBox8.Value =
rs![ID_постачальника]
End IfSubSub dod_Click()rs =
CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "select * from
Товари", cn
rs.AddNew
rs.Fields("ID_товару") =
TextBox1
rs.Fields("Назва_моделі")
= TextBox2
rs.Fields("Розмір") =
TextBox3
rs.Fields("Колір") =
TextBox4
rs.Fields("Матеріал") =
TextBox5
rs.Fields("Ціна_закупівлі")
= TextBox6
rs.Fields("Опис") =
TextBox7
rs.Fields("ID_постачальника")
= TextBox8
rs.UpdateSubSub
Del_Click().delete.Value = "".Value = "".Value =
"".Value = "".Value = "".Value =
"".Value = "".Value = ""Sub
Лістинг для форми
«Знижка»
Dim cn As New ADODB.Connectionrs As
New ADODB.RecordsetstrConn As StringSub Clear_Click().Value =
"".Value = "".Value = "".Value =
"".Value = "SubSub Con_Click()cn =
CreateObject("ADODB.Connection") 'NEW STATEMENTrs =
CreateObject("ADODB.Recordset") 'NEW STATEMENT= "Driver={SQL
Server};Server=ANDRY; Database=Крамниця_Спорттоварів;" & _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.CursorType =
adOpenStatic.Open "select * from Знижка", cn.MoveFirst
TextBox1.Value = rs![ID_знижки]
TextBox2.Value = rs![ПІБ_клієнта]
TextBox3.Value = rs![Відсоток]
TextBox4.Value = rs![Термін_дії]
TextBox5.Value =
rs![Загальна_сума]SubSub Nex_Click().MoveNextrs.EOF = True Then.MoveFirst
TextBox1.Value = rs![ID_знижки]
TextBox2.Value = rs![ПІБ_клієнта]
TextBox3.Value = rs![Відсоток]
TextBox4.Value = rs![Термін_дії]
TextBox5.Value =
rs![Загальна_сума]
End IfSubSub
Prev_Click().MovePrevious
If rs.BOF = True Then
rs.MoveLast
Else
TextBox1.Value = rs![ID_знижки]
TextBox2.Value = rs![ПІБ_клієнта]
TextBox3.Value = rs![Відсоток]
TextBox4.Value = rs![Термін_дії]
TextBox5.Value =
rs![Загальна_сума]
End IfSubSub dod_Click()rs =
CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM
Знижка", cn
rs.AddNew
rs.Fields("ID_знижки ") =
TextBox1
rs.Fields("ПІБ_клієнта") =
TextBox2
rs.Fields("Відсоток") =
TextBox3
rs.Fields("Термін_дії") =
TextBox4
rs.Fields("Загальна_сума")
= TextBox5
rs.UpdateSubSub
Del_Click().delete.Value = "".Value = "".Value =
"".Value = "".Value = ""Sub
Лістинг для форми
«Постачальники»
Dim cn As New ADODB.Connectionrs As
New ADODB.RecordsetstrConn As StringSub Clear_Click().Value =
"".Value = "".Value = "".Value =
""SubSub Con_Click()cn = CreateObject("ADODB.Connection")
'NEW STATEMENTrs = CreateObject("ADODB.Recordset") 'NEW STATEMENT=
"Driver={SQL Server};Server=ANDRY; Database=Крамниця_Спорттоварів;"
& _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.CursorType =
adOpenStatic.Open "select * from Постачальник", cn.MoveFirst
TextBox1.Value =
rs![ID_постачальника]
TextBox2.Value =
rs![Назва_постачальника]
TextBox3.Value = rs![ID_адреси]
TextBox4.Value =
rs![Дата_поставок]SubSub Nex_Click().MoveNextrs.EOF = True Then.MoveFirst
TextBox1.Value =
rs![ID_постачальника]
TextBox2.Value =
rs![Назва_постачальника]
TextBox3.Value = rs![ID_адреси]
TextBox4.Value =
rs![Дата_поставок]
End IfSubSub
Prev_Click().MovePrevious
If rs.BOF = True Then
rs.MoveLast
Else
TextBox1.Value = rs![ID_постачальника]
TextBox2.Value =
rs![Назва_постачальника]
TextBox3.Value = rs![ID_адреси]
TextBox4.Value =
rs![Дата_поставок]
End IfSubSub dod_Click()rs =
CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM
Постачальник", cn
rs.AddNew
rs.Fields("ID_постачальника")
= TextBox1
rs.Fields("Назва_постачальника")
= TextBox2
rs.Fields("ID_адреси") =
TextBox3
rs.Fields("Дата_поставок")
= TextBox4
rs.UpdateSubSub
Del_Click().delete.Value = "".Value = "".Value =
"".Value = ""Sub
Лістинг для форми
«Рахунок»
Dim cn As New ADODB.Connectionrs As
New ADODB.RecordsetstrConn As StringSub Clear_Click().Value =
"".Value = "".Value = "".Value =
"".Value = "".Value = ""SubSub Con_Click()cn =
CreateObject("ADODB.Connection") 'NEW STATEMENTrs =
CreateObject("ADODB.Recordset") 'NEW STATEMENT= "Driver={SQL
Server};Server=ANDRY; Database=Крамниця_Спорттоварів;" & _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.CursorType =
adOpenStatic.Open "select * from Рахунок", cn.MoveFirst
TextBox1.Value = rs![ID_рахунку]
TextBox2.Value = rs![ID_товару]
TextBox3.Value = rs![ID_знижки]
TextBox4.Value =
rs![ID_робітника]
TextBox5.Value = rs![Ціна]
TextBox6.Value =
rs![Дата_продажу]SubSub Nex_Click().MoveNextrs.EOF = True Then.MoveFirst
TextBox1.Value = rs![ID_рахунку]
TextBox2.Value = rs![ID_товару]
TextBox3.Value = rs![ID_знижки]
TextBox4.Value =
rs![ID_робітника]
TextBox5.Value = rs![Ціна]
TextBox6.Value =
rs![Дата_продажу]
End IfSubSub
Prev_Click().MovePrevious
If rs.BOF = True Then
rs.MoveLast
Else
TextBox1.Value = rs![ID_рахунку]
TextBox2.Value = rs![ID_товару]
TextBox3.Value = rs![ID_знижки]
TextBox4.Value =
rs![ID_робітника]
TextBox5.Value = rs![Ціна]
TextBox6.Value =
rs![Дата_продажу]
End IfSub
Sub dod_Click()rs =
CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM
Рахунок", cn
rs.AddNew
rs.Fields("ID_рахунку") =
TextBox1
rs.Fields("ID_товару") =
TextBox2
rs.Fields("ID_знижки") =
TextBox3
rs.Fields("ID_робітника")
= TextBox4
rs.Fields("Ціна") =
TextBox5
rs.Fields("Дата_продажу")
= TextBox6
rs.UpdateSub
Sub Del_Click().delete
.Value = "".Value =
"".Value = "".Value = "".Value = "".Value
= ""Sub
Лістинг для форми
«Кадри»
Dim cn As New ADODB.Connectionrs As
New ADODB.RecordsetstrConn As StringSub Clear_Click().Value =
"".Value = "".Value = "".Value =
"".Value = "".Value = ""SubSub Con_Click()
cn =
CreateObject("ADODB.Connection") 'NEW STATEMENTrs =
CreateObject("ADODB.Recordset") 'NEW STATEMENT= "Driver={SQL
Server};Server=ANDRY; Database=Крамниця_Спорттоварів;" & _
"User ID=" & login1
& ";Password=" & pass1.Open strConn.CursorType = adOpenStatic.Open
"select * from Кадри", cn.MoveFirst
TextBox1.Value =
rs![ID_робітника]
TextBox2.Value =
rs![ПІБ_робітника]
TextBox3.Value = rs![Посада]
TextBox4.Value = rs![Адреса]
TextBox5.Value =
rs![Мобільний_телефон]
TextBox6.Value = rs![Зарплата]SubSub
Nex_Click().MoveNextrs.EOF = True Then.MoveFirst
TextBox1.Value =
rs![ID_робітника]
TextBox2.Value =
rs![ПІБ_робітника]
TextBox3.Value = rs![Посада]
TextBox4.Value = rs![Адреса]
TextBox5.Value =
rs![Мобільний_телефон]
TextBox6.Value = rs![Зарплата]
End IfSubSub
Prev_Click().MovePrevious
If rs.BOF = True Then
rs.MoveLast
Else
TextBox1.Value =
rs![ID_робітника]
TextBox2.Value =
rs![ПІБ_робітника]
TextBox3.Value = rs![Посада]
TextBox4.Value = rs![Адреса]
TextBox5.Value =
rs![Мобільний_телефон]
TextBox6.Value = rs![Зарплата]
End IfSubSub dod_Click()rs =
CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM
Кадри", cn
rs.AddNew
rs.Fields("ID_робітника ")
= TextBox1
rs.Fields("ПІБ_робітника
") = TextBox2
rs.Fields("Посада ") =
TextBox3
rs.Fields("Адреса ") =
TextBox4
rs.Fields("Мобільний_телефон
") = TextBox5
rs.Fields("Зарплата ") =
TextBox6
rs.UpdateSubSub
Del_Click().delete.Value = "".Value = "".Value =
"".Value = "".Value = "".Value =
""SubSub UserForm_Click()Sub