тів. У цьому випадку невізуальні компоненти можна розташувати на тій же екранній формі, яка є єдиною.
У випадку, коли СУБД має кілька екранних форм, то їх доступ слід здійснити двома способами:
. Доступ кожної форми (та її компонентів) до БД можна здійснити автономно, незалежно від інших форм.
. Другий спосіб передбачає не повторювати для кожної форми організацію доступу до БД, а для всіх екранних, та звітних форм організувати єдиний доступ через спеціальний компонент типу TDataModule. Компонент типу TDataModule являє собою контейнер, в який можна поміщати все невізуальні компоненти TTable, TQuery, DataSource, які необхідні для доступу до БД і т.д. Тоді всі ті форми, для яких потрібно доступ до БД, доступ отримають через компонент TdataModule. Для цього для кожної екранної форми необхідно встановити зв'язок з даним компонентом, тобто з TdataModule.
Таким чином, у разі безлічі ЕФ та ОФ для роботи СУБД зручно створити компонент типу TDataModule, який є контейнером для невізуальних компонентів, що забезпечують доступ до базами даних.
Створення примірника TDataModule в середовищі Delphi здійснюється через пункт меню File | New Data Module . Після чого, в палітрі компонентів Delphi на сторінці Data Access виберемо мишею невізуальних компонент ТТаblе (рис. 12.1), клацнемо на ньому мишею і потім клацнемо мишею в контейнері. Після цього, зображення компоненти залишиться в контейнері.
Рис. 12.1. Палітра компонентів Delphi
невізуальні компоненти TTable (як і інші компоненти, наприклад, TQuery, TDataSource) називається тому, що він застосовується для зберігання і доступу до даних, а не для їх візуалізації - для цієї мети застосовуються візуальні компоненти (TDBGrid , TEdit та інші).
Після того, як ми розмістили компонент TTable, встановимо його властивості. Для цієї целі скористаємося інспектором об'єктів (Object Inspector), який зазвичай міститься ліворуч від форми. Якщо він не бачимо, його можна викликати, натиснувши кнопку F11. Інспектор об'єктів дозволяє встановлювати властивості того компонента, який виділений за допомогою миші. Виділимо мишею компонент TTable.
Встановимо значення властивості DatabaseName в PRIMER (це є псевдонім БД) за допомогою випадаючого списку або ввівши його вручну. Встановимо значення властивості TableName (ім'я таблиці БД) в Materialy.DB за допомогою випадаючого списку. Після цього встановимо значення властивості Active в True. Після цього відбудеться реальне зв'язування компонента TTable (він за замовчуванням має ім'я Table1) з реально існуючою таблицею Materialy.DB.
Компонент TTable і компонент TQuery служать для зберігання наборів даних. Поняття набору даних трохи ширше, ніж поняття таблиці БД, оскільки набір даних може містити:
· підмножина записів або полів таблиці БД (компоненти TTable, TQuery);
· записи, сформовані з декількох таблиць БД (компонент TQuery).
Розташуємо в контейнері DataModule компонент TDataSource. Він служить як сполучної ланки між невізуальними компонентами (в даному випадку Table1) і візуальними компонентами, які ми додамо в форму №3 пізніше. Тому компоненти TDataSource часто називають джерелами даних. Встановимо властивість DataSet (ім'я набору даних) компонента TDataSource в значення Table1 шляхом вибору з випадаючого спіска.нужно зберегти під яким-небудь ім'ям (за замовчуванням Unit5.pas). Ім'я модуля Unit, в якому описаний TDataModule, додається в текст модулів unit всіх інших форм додатки, які будуть використовувати БД і TDataSource, розташовані в цьому TDataModule. Це проводиться в головному меню середовища Delphi, в елементі меню File | Use Unit .
Надалі візуальні компоненти, що працюють з даними набору даних (НД), повинні у своєму властивості DataSource містити ім'я відповідного компонента TDataSource з TDataModule. При цьому ім'я є складовим: спочатку йде ім'я компонента TDataModule і потім через точку - ім'я компонента TDataSource, наприклад, в нашому випадку - DataModule5.DataSource1.
12.3.2. Створення простих екранних форм
У даному пункті описується питання створення простих варіантів екранних форм і встановлення їх доступу до БД, а також організація процесів обробки даних.
Створення екранної форми для меню СУБД
Перейде...