Організація автоматизації обліку на підприємствах

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗМІСТ
Введення
1. Теоретичний розділ
1.1. Постановка завдання
1.1.1. Опис вхідної інформації
1.1.2.Опісаніе вихідний інформації
1.2. Схема і опис схеми алгоритму задачі
1.2.1. Схема і опис схеми розробки проекту
1.2.2 Схема і опис схеми алгоритму програми
1.3. Обгрунтування вибору мови програмування
1.4. Опис операційної системи
1.5. Опис структури бази даних
2. Експериментальний розділ
2.1. Опис процесу налагодження програми
2.2. Характеристика програми
2.3. Контрольний приклад
2.4. Інструкція користувача
Висновок
Література
Додаток

Введення
Сучасне суспільство неможливо уявити без комп'ютера. Вони настільки широко і глибоко ввійшли в наше життя, що дуже важко назвати будь-яку сферу діяльності людини, де б вони не використовувалися.
У зв'язку з цим серйозні вимоги пред'являються і до апаратної частини сучасних комп'ютерів, і до використовуваного програмного забезпечення. В основному саме програмне забезпечення, або, іншими словами, програмні продукти, забезпечують можливість широкого використання комп'ютерів. Варто нам перевстановити програмне забезпечення комп'ютера або додати який-небудь новий програмний продукт, і ми зможемо вирішувати на цьому комп'ютері цілком нові завдання. Отже, використовувані програмні продукти повинні відповідати певним критеріям, що забезпечує надійність роботи комп'ютера і зручність роботи користувача.
Якщо апаратура комп'ютера, навіть найпростіші її компоненти, з самого початку розроблялися і випускалися відповідно до встановленого технологічним процесом, то якоїсь певної технології розробки програмних продуктів перший час не існувало. Розробники спиралися в основному на свій особистий досвід, використовуючи кустарні способи розробки. Такий підхід не міг не позначитися на якості розроблюваних програмних продуктів, терміни їх розробки і, отже, на їхній вартості. Дана ситуація була названа кризою програмування.
Щоб вийти з кризи, необхідно було створити індустріальні способи розробки програмних продуктів, тобто технологію їх розробки, яка включала б у себе різні передові інженерні методи і засоби створення програмних продуктів. У подальшому ці методи і засоби були об'єднані загальним поняттям «програмна інженерія» (software engineering). Створення зазначеної технології в сукупності з системою оцінки її використання при розробці програмних продуктів дозволило підвищити надійність програмних продуктів і якість їх розробки, а також полегшило замовникам вибір організації для розробки необхідного їм програмного продукту.
За півстоліття свого існування програмне забезпечення зазнало величезних змін, пройшовши шлях від програм, здатних виконувати тільки найпростіші логічні і арифметичні операції, до складних систем управління підприємствами. У програмному забезпеченні завжди можна було виділити два основних напрямки розвитку: виконання обчислень; накопичення та обробка інформації.
Хоча спочатку комп'ютери призначалися головним чином для виконання складних математичних розрахунків (в першу чергу для розрахунків, пов'язаних зі створенням ядерної зброї і ракетної техніки), в даний час домінуючим є другий напрямок. Такий перерозподіл основних функцій, виконуваних обчислювальною технікою, цілком зрозуміло - цивільні області застосування комп'ютерів набагато більш поширені, ніж військові і наукові, а зниження вартості комп'ютерів зробило їх доступними для зовсім невеликих підприємств і навіть приватних осіб.
Комп'ютери давно і міцно увійшли в такі галузі управління, як бухгалтерський облік, управління складом, асортиментом і закупівлями. Проте сучасний бізнес вимагає набагато більш широкого застосування інформаційних технологій в управлінні підприємством. Життєздатність та розвиток інформаційних технологій пояснюється тим, що сучасний бізнес вкрай чутливий до помилок в управлінні. Інтуїції, особистого досвіду керівника та розмірів капіталу вже мало для того, щоб бути першим. Для прийняття будь-якого грамотного управлінського рішення в умовах невизначеності і ризику необхідно постійно тримати під контролем різні аспекти фінансово-господарської діяльності, будь то торгівля, виробництво або надання будь-яких послуг. Тому сучасний підхід до управління передбачає вкладення коштів в інформаційні технології.

Теоретичний розділ

 

1.1. Постановка завдання

Основним завданням даного курсового проекту є розробка бази даних і відповідної програми для автоматизації ведення кадрового обліку деякого підприємства. Кінцева мета цього завдання формування таблиці анкетних даних. У програмі використовується багато інформації, і її потрібно десь зберігати. Тому ми будемо використовувати базу даних. Очевидно, що першим завданням і є розробка бази даних для зберігання всієї необхідної інформації. У залежності від розташування програми, що використовує дані, і самих даних, а також способу розділення даних між декількома користувачами розрізняють локальні (Paradox, dBase, FoxPro і Access) і віддалені (Interbase Sybase, Oracle і т.д.) бази даних. У даному випадку ми будемо створювати віддалену базу даних. Дані віддаленої бази даних (файли даних) знаходяться на одному віддаленому пристрої, у якості якого може виступати диск комп'ютера.
База даних - це набір файлів (таблиць), в яких знаходиться інформація. Як правило, база даних складається з декількох таблиць, які розміщують в одному каталозі. Каталог для нової бази даних створюється звичайним чином, наприклад, за допомогою Провідника. Таблицю ми будемо створювати, скориставшись утилітою IBConsole. Спочатку за допомогою цієї утиліти ми створимо самі таблиці, а потім ще генератори і тригери. Генератор - це спеціальна функція InterBase, за допомогою якої створюється лічильник для поля бази даних. А тригер потрібен для того, щоб прив'язати генератор до потрібної таблиці і до потрібного поля.
Таким чином, процес створення бази даних може бути представлений як послідовність наступних кроків:
· Створення каталогу;
· Створення таблиць;
· Створення генераторів;
· Створення тригерів.
Наступним завданням є розробка графічного інтерфейсу користувача клієнтських додатків. Говорячи зрозумілою мовою, даний програмний продукт орієнтований на кінцевого користувача (у нашому випадку на викладача), не володіє високою кваліфікацією в області обчислювальної техніки. Тому наше додаток повинен володіти простим, зручним, легко освоюваним інтерфейсом, який надає кінцевому користувачеві всі необхідні для роботи функції і в той же час не дає йому можливість виконувати будь-які зайві дії.
І остання наша задача - це зв'язати нашу програму з базою даних, і забезпечити можливість підключитися до віддаленої базі даних по мережі з будь-якого комп'ютера.
Отже, щоб перейти до кінцевої мети нашого курсового проекту треба розібратися з наступними завданнями:
· Розробка структури таблиць бази даних;
· Створення таблиць;
· Створення генераторів і тригерів;
· Пов'язати програму з базою даних, що знаходиться на віддаленому комп'ютері;
· Розробка графічного інтерфейсу користувача клієнтських додатків;
· Забезпечити працездатність програмного продукту на будь-якому комп'ютері.

1.1.1. Опис вхідної інформації

У даній програмі в якості вхідної інформації виступають дані в таблицю: Анкета. У цій таблиці зберігається прізвище, ім'я, по батькові, стать, зріст, вага, фото, дата народження, адреса (країна), адресу (область), адресу (місто), адреса (вулиця), адресу (квартира), адреса (індекс) , адреса (телефон), місце народження (країна), місце народження (область), місце народження (місто), громадянство, освіта, номер страхового свідоцтва, ІПН, серія трудової книжки, номер трудової книжки, номер паспорта, серія паспорта, виданий паспорт , дата видачі паспорта.
Візуально введення даних забезпечується наступними компонентами:
· TRadioButton - візуальний компонент, що дозволяє зафіксувати одне значення, з декількох, що належать до однієї групи.
· TEdit - Однорядковий текстовий редактор, за допомогою якого вводиться потрібна інформація, наприклад пароль та ім'я викладача.
· TDBEdit - компонент, що має такі ж властивості як і TEdit, але з додатковою можливістю зв'язку з будь-яким полем таблиці бази даних;
· TComboBox - візуальний компонент, дозволяє вибрати одне значення зі списку.

1.1.2.Опісаніе вихідний інформації

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

Приклад звіту

1.2. Схема і опис схеми алгоритму задачі

1.2.1. Схема і опис схеми розробки проекту


Mask
Particu-lars.exe
DBGrids
Grids
DBGrids
DB
Forms
Dialogs
ExtCtrls
StdCtrls
DBCtrls
ComCtrls
ExtDlgs
Мessages


Дана блок-схема відображає структуру програми, де Particulars.exe - це exe-файл програми, а DBCtrls, Grids, ExtCtrls та ін. - Модулі, використовувані exe-файлом.

1.2.2 Схема і опис схеми алгоритму програм и
OpenPictureDialog1.Execute
Ні
Так
Кінець
DBImage3.Picture.LoadFromFile (OpenPictureDialog1.FileName)
Початок
IBQueryFoto.ParamByName ('FOTO'). LoadFromFile (OpenPictureDialog1.FileName, ftBlob)
IBQueryFoto.ParamByName ('Nom'). Value: = IBQuery1.FieldByName ('Nom'). Value
IBQueryFoto.ExecSQL
Ні
Так
DataModule2.IBTransaction1.RollbackRetaining
ShowMessage ('Помилка установки фото')
Кінець
DataModule2.IBTransaction1.CommitRetaining
IBQuery1. Close
IBQuery1. Open
ShowMessage ('Фото встановлено')

Дана блок-схема відображає алгоритм додавання фотографії


1.3. Обгрунтування вибору мови програмування

Delphi - це грецьке місто, де жив дельфійський оракул. І цим ім'ям був названий програмний продукт із феноменальними характеристиками. Delphi - це нащадок Turbo Pascal, який був випущений для операційної системи CP / M в 1983 році. У лютому 1994 року Turbo Pascal був перенесений на операційну систему MS-DOS.
На ранньому етапі розвитку комп'ютерів IBM PC, Turbo Pascal був одним з найбільш популярних мов розробки програмного забезпечення - головним чином тому, що це був цілком серйозний компілятор, який, включаючи компілятор, редактор і все інше, коштував всього $ 19.95 і працював на машині з 64 Kb оперативної пам'яті.
Під Windows - Turbo Pascal був перенесений фірмою Borland в 1990 році. А версія Borland Pascal 7.0, не рахуючи Delphi, вийшла в світ у 1992 році.
Розробка Delphi почалася в 1993 році. Після проведення beta-тестування Delphi показали на "Software Development '95". І 14 лютого 1995 офіційно оголосили про її продаж в США. У торгівлю Delphi потрапила через 14 днів, 28 лютого 1995 року.
Отже, Delphi - це комбінація кількох найважливіших технологій:
· Високопродуктивний компілятор в машинний код.
Цей компілятор в даний час є одним з найбільш швидких у світі, його швидкість компіляції становить понад 120 тисяч рядків у хвилину на комп'ютері 486DX33. Він пропонує легкість розробки і швидкий час перевірки готового програмного блоку, характерного для мов четвертого покоління (4GL) і в той же час забезпечує якість коду, характерного для компілятора 3GL. Крім того, Delphi забезпечує швидку розробку без необхідності писати вставки на С + + або ручного написання коду (хоча це можливо).
Ще до компіляції розробник бачить результати своєї роботи - після підключення до джерела даних їх можна бачити відображеними на формі, можна переміщатися за даними, представляти їх у тому чи іншому вигляді. У цьому сенсі проектування в Delphi мало чим відрізняється від проектування в интерпретирующей середовищі, проте після виконання компіляції ми отримуємо код, який виконується в 10-20 разів швидше, ніж те ж саме, зроблене за допомогою інтерпретатора. Крім того, в Delphi компіляція проводиться безпосередньо у рідній машинний код, в той час як існують компілятори, що перетворюють програму у так званий p-код, який потім інтерпретується віртуальною p-машиною. Це не може не позначитися на фактичному швидкодії готового додатку;
· Об'єктно-орієнтована модель компонент.
Основний упор цієї моделі в Delphi робиться на максимальному «реіспользованіі» коду. Це дозволяє розробникам будувати програми досить швидко з заздалегідь підготовлених об'єктів, а також дає їм можливість створювати свої власні об'єкти для середовища Delphi. Ніяких обмежень по типах об'єктів, які можуть створювати розробники, не існує. Дійсно, все в Delphi написано на ньому ж, тому розробники мають доступ до тих же об'єктів та інструментів, які використовувалися для створення середовища розробки. У результаті немає ніякої різниці між об'єктами, що поставляються Borland або третіми фірмами, і об'єктами, які ви можете створити;
· Візуальне (а, отже, і швидкісне) побудова додатків з програмних прототипів;
· Масштабовані кошти для побудови баз даних.
Об'єкти БД в Delphi засновані на SQL і включають в себе повну міць Borland Database Engine. До складу Delphi також включено Borland SQL Link, тому доступ до СУБД Oracle, Sybase, Informix і InterBase відбувається з високою ефективністю. Крім того, Delphi включає в себе локальний сервер Interbase для того, щоб можна було розробити розгортаються на будь-які зовнішні SQL-сервера програми в «офлайновому» режимі. Розробник в середовищі Delphi, який проектує інформаційну систему для локальної машини (наприклад, невелику систему обліку медичних карток для одного комп'ютера), може використовувати для зберігання інформації файли формату. Dbf (як в dBase або Clipper) або. Db (Paradox). Якщо ж він буде використовувати локальний InterBase for Windows 4.0 (це локальний SQL-сервер, що входить в постачання), то його застосування без жодних змін буде працювати і в складі великої системи з архітектурою клієнт-сервер.
Ось вона - масштабованість на практиці - одне і те ж додаток можна використовувати як для локального, так і для більш серйозного клієнт-серверного варіантів.

1.4. Опис операційної системи

Дана інформаційно-довідкова система розроблялася в операційній системі Windows XP Professional.
Windows XP базується на Windows 2000, старішою, але потужної версією Windows, яку компанія Microsoft створила для роботи, головним чином, у великих мережах. З цієї причини Windows XP працює набагато стабільніше, ніж Windows Me або Windows 98. Існує дві версії Windows XP: Windows XP Home і Windows XP Professional. Windows XP Home підтримує роботу в мережі, спільне використання модему і інші засоби. Windows XP Professional призначена для виконання більш складних обчислень. Вона підтримує складні засоби забезпечення безпеки, групові політики, переміщувані профілі користувачів, протокол безпеки Kerberos і багато іншого. Windows XP Professional краще працює на переносних комп'ютерах, ніж Windows XP Ноmе, оскільки містить найкращі засоби управління живленням, а також краще працює з бездротовими підключеннями до Internet.

1.5. Опис структури бази даних

З точки зору користувача, база даних - це програма, яка забезпечує роботу з інформацією. При запуску такої програми на екрані, як правило, з'являється таблиця, переглядаючи яку користувач може знайти цікаві для її відома. Якщо система дозволяє, то він може внести зміни до бази даних: додати нову інформацію або видалити непотрібну.
З точки зору програміста, база даних - це набір файлів, що містять інформацію. Розробляючи базу даних для користувача, програміст створює програму, яка забезпечує роботу з файлами даних.
В даний час існує досить велика кількість програмних систем, що дозволяють створювати і використовувати локальні (dBASE, FoxPro, Access, Paradox) і віддалені (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) бази даних.
До складу Delphi входять компоненти, що дозволяють створювати програми роботи з файлами даних, створеними різними системами: від dBASE до Infomix і Oracle. Delphi також дозволяє програмістові створювати файли баз даних в різних форматах, використовуючи різні утиліти. У нашому випадку база даних, яка використовується в програмі, створена в системі InterBase, за допомогою утиліти IBConsole.
База даних містить 1 таблицю: ANKETA, опис полів якої наведено нижче.
Nom - поле, яке є ключовим у таблиці «ANKETA». Це поле має тип даних як числовий - Smallint, і автоматично збільшує своє значення. Цей тип даних як поле Autoincrement (+).
Fam - Поле призначене для зберігання прізвища. Тип даних поля: Varchar. Максимально допустимий розмір поля - 20 символ.
Name - Поле, призначене для зберігання імені. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символ.
Otch - Поле, призначене для зберігання по батькові. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символ.
Pol - Поле, призначене для зберігання інформації про статі. Тип даних поля: Varchar. Максимально допустимий розмір поля - 1 символів.
Rost - Поле, призначене для зберігання інформації про зростання. Тип даних поля: Varchar. Максимально допустимий розмір поля - 5 символів.
Ves - Поле, призначене для зберігання інформації про вагу. Тип даних поля: Varchar. Максимально допустимий розмір поля - 5 символів.
Foto - Поле, призначене для зберігання фотографії. Тип даних поля: BLOB.
DR - Поле, призначене для зберігання дати народження. Тип даних поля: DATE.
Ard_str - Поле, призначене для зберігання інформації про країну. Тип даних поля: Varchar. Максимально допустимий розмір поля - 25 символів.
Ard_obl - Поле, призначене для зберігання інформації про область. Тип даних поля: Varchar. Максимально допустимий розмір поля - 25 символів.
Ard_gor - Поле, призначене для зберігання інформації про місто. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символів.
Ard_yl - Поле, призначене для зберігання інформації про вулиці. Тип даних поля: Varchar. Максимально допустимий розмір поля - 20 символів.
Ard_dom - Поле, призначене для зберігання інформації про будинок. Тип даних поля: Varchar. Максимально допустимий розмір поля - 5 символів.
Ard_kv - Поле, призначене для зберігання інформації про квартиру. Тип даних поля: Varchar. Максимально допустимий розмір поля - 5 символів.
Ard_ind - Поле, призначене для зберігання інформації про індексі. Тип даних поля: Varchar. Максимально допустимий розмір поля - 6 символів.
Ard_tel - Поле, призначене для зберігання інформації про телефон. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символів.
Mroz_str - Поле, призначене для зберігання інформації про країну, місці народження. Тип даних поля: Varchar. Максимально допустимий розмір поля - 25 символів.
Mroz_obl - Поле, призначене для зберігання інформації про область, місці народження. Тип даних поля: Varchar. Максимально допустимий розмір поля - 25 символів.
Mroz_gor - Поле, призначене для зберігання інформації про місто, місці народження. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символів.
Grazdan - Поле, призначене для зберігання інформації про громадянство. Тип даних поля: Varchar. Максимально допустимий розмір поля - 15 символів.
Obrazov - Поле, призначене для зберігання інформації про освіту. Тип даних поля: Varchar. Максимально допустимий розмір поля - 30 символів.
Nom_strax_sved - Поле, призначене для зберігання інформації про номер страхового Свідоцтво. Тип даних поля: Varchar. Максимально допустимий розмір поля - 13 символів.
INN - Поле, призначене для зберігання інформації про ІПН. Тип даних поля: Varchar. Максимально допустимий розмір поля - 12 символів.
Tryd_kn_seriya - Поле, призначене для зберігання інформації про серію трудової книжки. Тип даних поля: Varchar. Максимально допустимий розмір поля - 6 символів.
Tryd_kn_nomer - Поле, призначене для зберігання інформації про номер трудової книжки. Тип даних поля: Varchar. Максимально допустимий розмір поля - 20 символів.
Paspost_nom - Поле, призначене для зберігання інформації про номер паспорта. Тип даних поля: Varchar. Максимально допустимий розмір поля - 4 символів.
Paspost_ ser - Поле, призначене для зберігання інформації про серію паспорта. Тип даних поля: Varchar. Максимально допустимий розмір поля - 6 символів.
Paspost_vidan - Поле, призначене для зберігання інформації про те ким паспорт був виданий. Тип даних поля: Varchar. Максимально допустимий розмір поля - 50 символів.
Paspost_data - Поле, призначене для зберігання інформації про те, коли паспорт був виданий. Тип даних поля: DATE.

2. Експериментальний розділ
2.1. Опис процесу налагодження
Успішне завершення процесу компіляції не означає, що в програмі немає помилок. Переконатися, що програма працює правильно можна тільки в процесі перевірки її працездатності, який називається тестування.
Зазвичай програма рідко відразу починає працювати так, як треба, або працює правильно тільки на деякій обмеженому наборі вихідних даних. Це свідчить про те, що в програмі є алгоритмічні помилки. Процес пошуку і усунення помилок називається налагодженням.
Delphi має найпотужнішим, вбудованим в редактор графічним відладчиком, що дозволяє знаходити і усувати помилки в коді. Ми можемо встановити точки зупинки, перевірити та змінити змінні, за допомогою покрокового виконання в точності зрозуміти поведінку програми.
У процесі налагодження програми я зіткнувся з помилкою. Ця помилка виникла, коли програмою не була знайдена база даних.
Виправив я цю помилку, створивши папку «BD» і помістив в неї базу «BD». Далі у властивості DatabaseName компонента IBDatabase1 я написав следуюшее:
BD \ BD.gdb
Програма автоматично визначає своє місце положення і повідомляє компоненту IBDatabase шлях до бази даних.

2.2. Характеристика програми

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

Вікно про програму

2.4. Інструкція користувача

Для роботи в цій програмі вам не будуть потрібні великі навички роботи з Windows-додатками. Сам інтерфейс програми простий і ясний.
Для початку роботи необхідно в кореневій директорії диска відкрити папку «Анкетні дані», в якій перебуває програма і запустити файл Анкетні данние.exe. При запуску програми на екрані з'явитися головне вікно в якому ви можите переглянути всі особисті дані. При натисканні на кнопку «Пошук» можна зробити пошук по трьох полях: прізвище, стать, ІПН. При натисканні на кнопку «Сортування» можна провести сортування по полях зазначеними у програмі.
При натисканні на вкладку «Редагувати» виникає віконце з даними того запису, на якій стоїть вказівник. Тут можна змінити інформацію будь-яку інформацію, наявну в базі даних.
При натисканні на кнопку «Фільтрація» можна включити або вимкнути фільтр. Фільтрація відбувається по всіх полях бази даних.
При виборі вкладки «Додавання запису» можна додати в базу свої анкетні дані попередньо заповнивши всі поля після чого натискаємо на кнопку «Додати» поля додаються. Також можна додати свою фотографію натиснувши на кнопку «Додати фото» і прописати шлях до своєї фотографії.
При натисканні на вкладку «Редагування записів» виникає віконце з даними того запису, на якій стоїть вказівник. Тут можна змінити інформацію будь-яку інформацію, наявну в базі даних.
Щоб вивести роздрукувати анкетні дані в головному вікні вибираємо потрібне поле натискаємо кнопку «Звіт» і роздруковуємо.
При натисканні на кнопку «Про програму» на панелі зверху, виникає вікно з інформацією про розробника даного програмного продукту.

Висновок

Бурхливий розвиток обчислювальної техніки, потреба в ефективних засобах розробки програмного забезпечення призвели до появи систем програмування, орієнтованих на так звану "швидку розробку", серед яких можна виділити Borland Delphi і Microsoft Visual Basic. В основі систем швидкої розробки (RAD-систем, Rapid Application Development - середовище швидкої розробки додатків) лежить технологія візуального проектування і подієвого програмування, суть якої полягає в тому, що середовище розробки бере на себе більшу частину рутинної роботи, залишаючи програмісту роботу по конструюванню діалогових вікон і функцій обробки подій.
Програмний продукт, розроблений в рамках даного курсового проекту, призначається для проектування баз даних та відповідного додаток для автоматизації ведення кадрового обліку деякого підприємства.
Програма має можливості фільтрувати записи, здійснювати пошук необхідного запису, друкувати запису, що містяться в базі.

Література

1. Бобровський С.І. Delphi7. Навчальний курс .- СПб.: Пітер.2004.
2. Ізбачков Ю. С., Петров В. М. Інформаційні системи: Підручник. - СПб.: Питер, 2005.
3. Волков Ю.С., Петров В.М. Інформаційні системи. - СПб.: Пітер. 2005.
4. Рудаков О. В. Технологія розробки програмних продуктів: Учеб. посібник. - М.: Видавничий центр «Академія», 2005.
5. Стандартна документація Delphi.

Додаток
Основний модуль програми
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {DataModule2: TDataModule},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5};
{$ R *. res}
begin
Application.Initialize;
Application.Title: = 'Àíêåòíûå äàííûå';
Application.CreateForm (TForm1, Form1);
Application.CreateForm (TForm4, Form4);
Application.CreateForm (TDataModule2, DataModule2);
Application.CreateForm (TForm3, Form3);
Application.CreateForm (TForm5, Form5);
Application.Run;
end.
Модуль зберігання невізуальних компонентів
unit Unit2;
interface
uses
SysUtils, Classes, IBDatabase, DB;
type
TDataModule2 = class (TDataModule)
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
private
{Private declarations}
public
{Public declarations}
end;
var
DataModule2: TDataModule2;
implementation
{$ R *. dfm}
end.
Модуль основної форми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, IBCustomDataSet, IBTable, ExtCtrls,
StdCtrls, Mask, DBCtrls, XPMan, Menus, IBQuery, ComCtrls, ExtDlgs;
type
TForm1 = class (TForm)
DataSource1: TDataSource;
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
XPManifest1: TXPManifest;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
IBQuery1: TIBQuery;
IBQuery2: TIBQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox4: TGroupBox;
Label19: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Edit18: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
GroupBox5: TGroupBox;
Label24: TLabel;
Label25: TLabel;
Edit23: TEdit;
Edit24: TEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit15: TEdit;
Edit14: TEdit;
GroupBox3: TGroupBox;
Label17: TLabel;
Label18: TLabel;
Label20: TLabel;
Edit16: TEdit;
Edit17: TEdit;
Edit19: TEdit;
GroupBox6: TGroupBox;
Label28: TLabel;
Label29: TLabel;
Edit27: TEdit;
Edit28: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label26: TLabel;
Label27: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Button1: TButton;
Button3: TButton;
TabSheet3: TTabSheet;
IBQuery1NOM: TSmallintField;
IBQuery1FAM: TIBStringField;
IBQuery1NAME: TIBStringField;
IBQuery1OTCH: TIBStringField;
IBQuery1POL: TIBStringField;
IBQuery1ROST: TIBStringField;
IBQuery1VES: TIBStringField;
IBQuery1FOTO: TBlobField;
IBQuery1DR: TDateField;
IBQuery1ADR_STR: TIBStringField;
IBQuery1ADR_OBL: TIBStringField;
IBQuery1ADR_GOR: TIBStringField;
IBQuery1ADR_YL: TIBStringField;
IBQuery1ADR_DOM: TIBStringField;
IBQuery1ADR_KV: TIBStringField;
IBQuery1ADR_IND: TIBStringField;
IBQuery1ADR_TEL: TIBStringField;
IBQuery1MROZ_STR: TIBStringField;
IBQuery1MROZ_OBL: TIBStringField;
IBQuery1MROZ_GOR: TIBStringField;
IBQuery1GRAZDAN: TIBStringField;
IBQuery1OBRAZOV: TIBStringField;
IBQuery1NOM_STRAX_SVED: TIBStringField;
IBQuery1INN: TIBStringField;
IBQuery1TRYD_KN_SERIYA: TIBStringField;
IBQuery1TRYD_KN_NOMER: TIBStringField;
IBQuery1PASPOST_NOM: TIBStringField;
IBQuery1PASPOST_SER: TIBStringField;
IBQuery1PASPOST_VIDAN: TIBStringField;
IBQuery1PASPOST_DATA: TDateField;
GroupBox8: TGroupBox;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
GroupBox9: TGroupBox;
Label40: TLabel;
Label41: TLabel;
GroupBox10: TGroupBox;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
GroupBox11: TGroupBox;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
GroupBox12: TGroupBox;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
GroupBox13: TGroupBox;
Label57: TLabel;
Label58: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
GroupBox7: TGroupBox;
ComboBox1: TComboBox;
Edit500: TEdit;
Button2: TButton;
DBNavigator3: TDBNavigator;
IBQueryFoto: TIBQuery;
OpenPictureDialog1: TOpenPictureDialog;
DBImage2: TDBImage;
DBImage1: TDBImage;
GroupBox14: TGroupBox;
Label59: TLabel;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Edit29: TEdit;
Edit30: TEdit;
Edit31: TEdit;
Edit32: TEdit;
Edit33: TEdit;
Edit34: TEdit;
Edit35: TEdit;
Edit36: TEdit;
Edit37: TEdit;
GroupBox15: TGroupBox;
Label69: TLabel;
Label70: TLabel;
Edit38: TEdit;
Edit39: TEdit;
GroupBox16: TGroupBox;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Edit40: TEdit;
Edit41: TEdit;
Edit42: TEdit;
GroupBox17: TGroupBox;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label80: TLabel;
Label81: TLabel;
Edit43: TEdit;
Edit44: TEdit;
Edit45: TEdit;
Edit46: TEdit;
Edit47: TEdit;
Edit48: TEdit;
Edit49: TEdit;
Edit50: TEdit;
GroupBox18: TGroupBox;
Label82: TLabel;
Label83: TLabel;
Edit51: TEdit;
Edit52: TEdit;
GroupBox19: TGroupBox;
Label84: TLabel;
Label85: TLabel;
Label86: TLabel;
Label87: TLabel;
Edit53: TEdit;
Edit54: TEdit;
Edit55: TEdit;
Edit56: TEdit;
Button4: TButton;
IBQuery3: TIBQuery;
DBImage3: TDBImage;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
Button5: TButton;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
IBQuery4: TIBQuery;
N18: TMenuItem;
procedure FormDestroy (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure IBQuery1AfterScroll (DataSet: TDataSet);
procedure N5Click (Sender: TObject);
procedure N6Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure N9Click (Sender: TObject);
procedure N10Click (Sender: TObject);
procedure N11Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure N13Click (Sender: TObject);
procedure N14Click (Sender: TObject);
procedure N15Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure N16Click (Sender: TObject);
procedure N18Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$ R *. dfm}
procedure TForm1.FormDestroy (Sender: TObject);
begin
IBQuery1.Close;
end;
procedure TForm1.Button1Click (Sender: TObject);
begin
if OpenPictureDialog1.Execute Then
begin
DBImage2.Picture.LoadFromFile (OpenPictureDialog1.FileName);
IBQueryFoto.ParamByName ('FOTO'). LoadFromFile (OpenPictureDialog1.FileName, ftBlob);
IBQueryFoto.ParamByName ('Nom'). Value: = IBQuery1.FieldByName ('Nom'). Value;
Try
IBQueryFoto.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage ('Помилка установки фотографії ");
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
ShowMessage ('Фотографія встановлена');
end;
end;
procedure TForm1.N2Click (Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click (Sender: TObject);
var
s: String;
begin
case ComboBox1.ItemIndex of
0: S: = 'Fam';
1: S: = 'Pol';
2: S: = 'INN';
end;
IBQuery1.Locate (S, Edit500.Text, [loPartialKey]);
end;
procedure TForm1.N3Click (Sender: TObject);
begin
Form3.QuickRep1.Preview;
end;
procedure TForm1.Button3Click (Sender: TObject);
begin
IBQuery2.Params.ParamByName ('Fam'). Value: = Edit1.Text;
IBQuery2.Params.ParamByName ('Name'). Value: = Edit2.Text;
IBQuery2.Params.ParamByName ('Otch'). Value: = Edit3.Text;
IBQuery2.Params.ParamByName ('Pol'). Value: = Edit4.Text;
IBQuery2.Params.ParamByName ('DR'). Value: = Edit5.Text;
IBQuery2.Params.ParamByName ('Ves'). Value: = Edit6.Text;
IBQuery2.Params.ParamByName ('Rost'). Value: = Edit7.Text;
IBQuery2.Params.ParamByName ('Adr_str'). Value: = Edit8.Text;
IBQuery2.Params.ParamByName ('Adr_obl'). Value: = Edit9.Text;
IBQuery2.Params.ParamByName ('Adr_gor'). Value: = Edit10.Text;
IBQuery2.Params.ParamByName ('Adr_yl'). Value: = Edit11.Text;
IBQuery2.Params.ParamByName ('Adr_dom'). Value: = Edit12.Text;
IBQuery2.Params.ParamByName ('Adr_kv'). Value: = Edit13.Text;
IBQuery2.Params.ParamByName ('Adr_ind'). Value: = Edit14.Text;
IBQuery2.Params.ParamByName ('Adr_tel'). Value: = Edit15.Text;
IBQuery2.Params.ParamByName ('Mroz_str'). Value: = Edit16.Text;
IBQuery2.Params.ParamByName ('Mroz_obl'). Value: = Edit17.Text;
IBQuery2.Params.ParamByName ('Paspost_nom'). Value: = Edit18.Text;
IBQuery2.Params.ParamByName ('Mroz_gor'). Value: = Edit19.Text;
IBQuery2.Params.ParamByName ('Paspost_ser'). Value: = Edit20.Text;
IBQuery2.Params.ParamByName ('Paspost_vidan'). Value: = Edit21.Text;
IBQuery2.Params.ParamByName ('Paspost_data'). Value: = Edit22.Text;
IBQuery2.Params.ParamByName ('Tryd_kn_seriya'). Value: = Edit23.Text;
IBQuery2.Params.ParamByName ('Tryd_kn_nomer'). Value: = Edit24.Text;
IBQuery2.Params.ParamByName ('Obrazov'). Value: = Edit25.Text;
IBQuery2.Params.ParamByName ('Grazdan'). Value: = Edit26.Text;
IBQuery2.Params.ParamByName ('Nom_strax_sved'). Value: = Edit27.Text;
IBQuery2.Params.ParamByName ('INN'). Value: = Edit28.Text;
try
IBQuery2.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage ('Неможливо передати запис');
Exit;
end;
DataModule2.IBTransaction1.CommitRetaining;
ShowMessage ('Запис добавлена');
IBQuery1.Close;
IBQuery1.Open;
end;
procedure TForm1.Button4Click (Sender: TObject);
begin
if MessageDlg ('Оновити анкетні дані?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
IBQuery4.Params.ParamByName ('Nom'). Value: = IBQuery1NOM.Value;
IBQuery4.Params.ParamByName ('Fam'). Value: = Edit29.Text;
IBQuery4.Params.ParamByName ('Name'). Value: = Edit30.Text;
IBQuery4.Params.ParamByName ('Otch'). Value: = Edit31.Text;
IBQuery4.Params.ParamByName ('Pol'). Value: = Edit33.Text;
IBQuery4.Params.ParamByName ('DR'). Value: = Edit32.Text;
IBQuery4.Params.ParamByName ('Ves'). Value: = Edit34.Text;
IBQuery4.Params.ParamByName ('Rost'). Value: = Edit35.Text;
IBQuery4.Params.ParamByName ('Adr_str'). Value: = Edit43.Text;
IBQuery4.Params.ParamByName ('Adr_obl'). Value: = Edit44.Text;
IBQuery4.Params.ParamByName ('Adr_gor'). Value: = Edit45.Text;
IBQuery4.Params.ParamByName ('Adr_yl'). Value: = Edit46.Text;
IBQuery4.Params.ParamByName ('Adr_dom'). Value: = Edit47.Text;
IBQuery4.Params.ParamByName ('Adr_kv'). Value: = Edit48.Text;
IBQuery4.Params.ParamByName ('Adr_ind'). Value: = Edit50.Text;
IBQuery4.Params.ParamByName ('Adr_tel'). Value: = Edit49.Text;
IBQuery4.Params.ParamByName ('Mroz_str'). Value: = Edit40.Text;
IBQuery4.Params.ParamByName ('Mroz_obl'). Value: = Edit41.Text;
IBQuery4.Params.ParamByName ('Paspost_nom'). Value: = Edit53.Text;
IBQuery4.Params.ParamByName ('Mroz_gor'). Value: = Edit42.Text;
IBQuery4.Params.ParamByName ('Paspost_ser'). Value: = Edit54.Text;
IBQuery4.Params.ParamByName ('Paspost_vidan'). Value: = Edit55.Text;
IBQuery4.Params.ParamByName ('Paspost_data'). Value: = Edit56.Text;
IBQuery4.Params.ParamByName ('Tryd_kn_seriya'). Value: = Edit51.Text;
IBQuery4.Params.ParamByName ('Tryd_kn_nomer'). Value: = Edit52.Text;
IBQuery4.Params.ParamByName ('Obrazov'). Value: = Edit36.Text;
IBQuery4.Params.ParamByName ('Grazdan'). Value: = Edit37.Text;
IBQuery4.Params.ParamByName ('Nom_strax_sved'). Value: = Edit38.Text;
IBQuery4.Params.ParamByName ('INN'). Value: = Edit39.Text;
try
IBQuery4.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage ('Запис не додано');
exit;
end;
DataModule2.IBTransaction1.CommitRetaining;
ShowMessage ('Запис оновлено');
IBQuery1.Close;
IBQuery1.Open;
end;
end;
procedure TForm1.IBQuery1AfterScroll (DataSet: TDataSet);
begin
if IBQuery1.FieldValues ​​['Fam'] <> null then
Edit29.Text: = IBQuery1.FieldValues ​​['Fam'];
if IBQuery1.FieldValues ​​['Name'] <> null then
Edit30.Text: = IBQuery1.FieldValues ​​['Name'];
if IBQuery1.FieldValues ​​['Otch'] <> null then
Edit31.Text: = IBQuery1.FieldValues ​​['Otch'];
if IBQuery1.FieldValues ​​['Pol'] <> null then
Edit33.Text: = IBQuery1.FieldValues ​​['Pol'];
if IBQuery1.FieldValues ​​['DR'] <> null then
Edit32.Text: = IBQuery1.FieldValues ​​['DR'];
if IBQuery1.FieldValues ​​['Ves'] <> null then
Edit34.Text: = IBQuery1.FieldValues ​​['Ves'];
if IBQuery1.FieldValues ​​['Rost'] <> null then
Edit35.Text: = IBQuery1.FieldValues ​​['Rost'];
if IBQuery1.FieldValues ​​['Adr_str'] <> null then
Edit43.Text: = IBQuery1.FieldValues ​​['Adr_str'];
if IBQuery1.FieldValues ​​['Adr_obl'] <> null then
Edit44.Text: = IBQuery1.FieldValues ​​['Adr_obl'];
if IBQuery1.FieldValues ​​['Adr_gor'] <> null then
Edit45.Text: = IBQuery1.FieldValues ​​['Adr_gor'];
if IBQuery1.FieldValues ​​['Adr_yl'] <> null then
Edit46.Text: = IBQuery1.FieldValues ​​['Adr_yl'];
if IBQuery1.FieldValues ​​['Adr_dom'] <> null then
Edit47.Text: = IBQuery1.FieldValues ​​['Adr_dom'];
if IBQuery1.FieldValues ​​['Adr_kv'] <> null then
Edit48.Text: = IBQuery1.FieldValues ​​['Adr_kv'];
if IBQuery1.FieldValues ​​['Adr_ind'] <> null then
Edit50.Text: = IBQuery1.FieldValues ​​['Adr_ind'];
if IBQuery1.FieldValues ​​['Adr_tel'] <> null then
Edit49.Text: = IBQuery1.FieldValues ​​['Adr_tel'];
if IBQuery1.FieldValues ​​['Mroz_str'] <> null then
Edit40.Text: = IBQuery1.FieldValues ​​['Mroz_str'];
if IBQuery1.FieldValues ​​['Mroz_obl'] <> null then
Edit41.Text: = IBQuery1.FieldValues ​​['Mroz_obl'];
if IBQuery1.FieldValues ​​['Paspost_nom'] <> null then
Edit53.Text: = IBQuery1.FieldValues ​​['Paspost_nom'];
if IBQuery1.FieldValues ​​['Mroz_gor'] <> null then
Edit42.Text: = IBQuery1.FieldValues ​​['Mroz_gor'];
if IBQuery1.FieldValues ​​['Paspost_ser'] <> null then
Edit54.Text: = IBQuery1.FieldValues ​​['Paspost_ser'];
if IBQuery1.FieldValues ​​['Paspost_vidan'] <> null then
Edit55.Text: = IBQuery1.FieldValues ​​['Paspost_vidan'];
if IBQuery1.FieldValues ​​['Paspost_data'] <> null then
Edit56.Text: = IBQuery1.FieldValues ​​['Paspost_data'];
if IBQuery1.FieldValues ​​['Tryd_kn_seriya'] <> null then
Edit51.Text: = IBQuery1.FieldValues ​​['Tryd_kn_seriya'];
if IBQuery1.FieldValues ​​['Tryd_kn_nomer'] <> null then
Edit52.Text: = IBQuery1.FieldValues ​​['Tryd_kn_nomer'];
if IBQuery1.FieldValues ​​['Obrazov'] <> null then
Edit36.Text: = IBQuery1.FieldValues ​​['Obrazov'];
if IBQuery1.FieldValues ​​['Grazdan'] <> null then
Edit37.Text: = IBQuery1.FieldValues ​​['Grazdan'];
if IBQuery1.FieldValues ​​['Nom_strax_sved'] <> null then
Edit38.Text: = IBQuery1.FieldValues ​​['Nom_strax_sved'];
if IBQuery1.FieldValues ​​['INN'] <> null then
Edit39.Text: = IBQuery1.FieldValues ​​['INN'];
end;
procedure TForm1.N5Click (Sender: TObject);
begin
Form4.Notebook1.PageIndex: = 0;
Form4.GroupBox1.Caption: = 'На прізвище:';
Form4.ShowModal;
end;
procedure TForm1.N6Click (Sender: TObject);
begin
Form4.Notebook1.PageIndex: = 1;
Form4.GroupBox1.Caption: = 'За статтю:';
Form4.ShowModal;
end;
procedure TForm1.N7Click (Sender: TObject);
begin
Form4.Notebook1.PageIndex: = 2;
Form4.GroupBox1.Caption: = 'По даті народження:';
Form4.ShowModal;
end;
procedure TForm1.N9Click (Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add ('select * from anketa order by fam');
IBQuery1.Open;
end;
procedure TForm1.N10Click (Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add ('select * from anketa order by dr');
IBQuery1.Open;
end;
procedure TForm1.N11Click (Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add ('select * from anketa order by rost');
IBQuery1.Open;
end;
procedure TForm1.Button5Click (Sender: TObject);
begin
if OpenPictureDialog1.Execute Then
begin
DBImage3.Picture.LoadFromFile (OpenPictureDialog1.FileName);
IBQueryFoto.ParamByName ('FOTO'). LoadFromFile (OpenPictureDialog1.FileName, ftBlob);
IBQueryFoto.ParamByName ('Nom'). Value: = IBQuery1.FieldByName ('Nom'). Value;
Try
IBQueryFoto.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage ('Помилка установки фотографії ");
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
ShowMessage ('Фотографія встановлена');
end;
end;
procedure TForm1.N13Click (Sender: TObject);
begin
PageControl1.ActivePageIndex: = 1;
end;
procedure TForm1.N14Click (Sender: TObject);
begin
PageControl1.ActivePageIndex: = 2;
end;
procedure TForm1.N15Click (Sender: TObject);
begin
if MessageBox (Handle, 'Ви дійсно хочете видалити запис?', 'Підтвердження видалення', MB_YESNO or MB_ICONWARNING) = mrYes then
begin
IBQuery3.ParamByName ('NOM'). Value: = IBQuery1.FieldByName ('NOM'). Value;
Try
IBQuery3.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
MessageBox (Handle, 'Неможливо видалити запис.', 'Помилка при вилученні записи', MB_OK or MB_ICONERROR);
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
MessageBox (Handle, 'Запис удаліна.', 'Подія', MB_OK or MB_ICONINFORMATION);
end;
end;
procedure TForm1.FormActivate (Sender: TObject);
begin
IBQuery1.Open;
end;
procedure TForm1.N16Click (Sender: TObject);
begin
Form5.ShowModal;
end;
procedure TForm1.N18Click (Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add ('SELECT * FROM ANKETA');
IBQuery1.Open;
end;
end.
Модуль форми з фільтрацією
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm4 = class (TForm)
GroupBox1: TGroupBox;
Notebook1: TNotebook;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button4: TButton;
Button5: TButton;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Button6: TButton;
Button7: ​​TButton;
Button8: TButton;
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button6Click (Sender: TObject);
procedure Button8Click (Sender: TObject);
procedure Button7Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form4: TForm4;
implementation
uses Unit1, Unit2, Unit3;
{$ R *. dfm}
procedure TForm4.Button1Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA WHERE Fam =' + # 39 + Edit1.text + # 39'');
Form1.IBQuery1.Open;
end;
procedure TForm4.Button2Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA');
Form1.IBQuery1.Open;
end;
procedure TForm4.Button3Click (Sender: TObject);
begin
Edit1.Text :='';
end;
procedure TForm4.Button5Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA');
Form1.IBQuery1.Open;
end;
procedure TForm4.Button4Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
if RadioButton1.Checked = true then
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA WHERE POL =' + # 39 + 'М' + # 39);
if RadioButton2.Checked = true then
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA WHERE POL =' + # 39 + 'Ж' + # 39);
Form1.IBQuery1.Open;
end;
procedure TForm4.Button6Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA WHERE (DR >='+# 39 + Edit2.text + # 39 +') and (DR <='+# 39 + Edit3.text + # 39 + ')' );
Form1.IBQuery1.Open;
end;
procedure TForm4.Button8Click (Sender: TObject);
begin
Edit2.Text :='';
Edit3.Text :='';
end;
procedure TForm4.Button7Click (Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add ('SELECT * FROM ANKETA');
Form1.IBQuery1.Open;
end;
end.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Диплом
82.7кб. | скачати


Схожі роботи:
Організація бухгалтерського обліку на підприємствах
Організація фінансового обліку на підприємствах
Організація обліку на підприємствах малого бізнесу
Організація бухгалтерського обліку на малих підприємствах
Організація обліку на підприємствах малого бізнесу
Організація бухгалтерського обліку на підприємствах малого бізнесу
Організація обліку і контролю на підприємствах житлово-комунального господарства
Організація обліку касових операцій на підприємствах малого бізнесу
Організація бухгалтерського обліку аналіз і аудит на підприємствах малого бізнесу
© Усі права захищені
написати до нас