ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Отображение запросаПоскольку теперь вся необходимая информация размещается в запросе, вид приложения можно модифицировать. Обеспечение доступа к базе данных в случае отображения в приложении запроса осуществляется также как в случае отображения таблиц. Необходимо в окне Data Module разместить элемент ADOTable. Далее в Инспекторе объектов в свойстве Name категории Miscelleneous следует ввести имя указанного элемента, например, Zapros. В свойстве Connection категории Lincage следует установить связь с базой данных, т. е. выбрать ADOConntction. В свойстве TableName категории DataBase следует выбрать Запрос 1. В свойстве Active категории Miscelleneous следует выбрать True (рисунок 179). Рисунок 179 – Обеспечение доступа к базе данных посредством отображения запроса С целью отображения данных запроса в окне Data Module следует поместить элемент DataSourse. В данном случае порядковый номер элемента DataSourse будет шестым, так как предварительно были отображены данные пяти таблиц базы. В инспекторе объектов в свойстве DataSet категрии DataBase следует выбрать Zapros (рисунок 180). Рисунок 180 – Отображение данных запроса На рисунке 181 показано окно Data Module и размещенные в нем элементы ADOTable (переименованный в Zapros) и DataSourse6 с целью отображения в главной форме запроса. Рисунок 181 – Окно Data Module и элементы Zapros и DataSourse6 С целью визуализации запроса на главную форму следует переместить компонент DBGrid. В Инспекторе объектов в свойстве DataSourse категории DataBase следует установить Data Module2. DataSourse6 (рисунок 182). Рисунок 182 – Визуализация данных запроса на главной форме После этого данные запроса будут отображаться в приложении. 6.4.3.3 Создание главного меню приложения Поскольку теперь вся необходимая информация размещена в запросе, отображение всех таблиц базы данных на главной форме не требуется. Тогда можно разместить все таблицы базы данных в главном меню. Непосредственно перед созданием главного меню необходимо удалить с главной форме компоненты DBGrid, отображающие все пять таблиц базы данных. Необходимо выделить компоненты и нажать Delete. После этого на форме останется только один компонент DBGrid, визуализирующий запрос. Следует удалить и ранее созданные кнопки, поскольку в дальнейшем работа с таблицами будет осуществляться посредством главного меню. Для того чтобы создать главное меню, необходимо переместить на главную форму с закладки Standard палитры компонентов компонент MainMenu (рисунок 183). Рисунок 183 – Компонент MainMenu закладка Standard палитры компонентов После этого по компоненту следует произвести двойной клик мышью. Откроется окно Form1.MainMenu1, в котором следует указать состав главного меню. Название категории меню и его состав прописываются с клавиатуры и отображаются в свойстве Инспектора объектов Caption категории Action. После указания названия меню и входящих в него команд следует нажимать Enter. На рисунке 184 представлено окно с открытой категорией меню Таблицы. В состав указанной категории меню входят все таблицы базы данных «Органайзер». Рисунок 184 – Категория главного меню Таблицы На рисунке 185 представлено то же окно с открытой категорией главного меню Вставка. В состав категории меню Вставка входят команды Добавить работника, Добавить поручение, Добавить ответственного. Указанные команды можно использовать для добавления записей в базу данных. Рисунок 185 – Категория главного меню Вставка На рисунке 186 показан пример указания названия меню в Инспекторе объектов. Рисунок 186 – Указание названий категорий и команд главного меню Вид главной формы после проведенных модификаций представлен на рисунке 187. Рисунок 187 – Главная форма после модификации приложения В процессе модификации приложения на главной форме удалены компоненты DBGrid, визуализирующие таблицы, удалены кнопки, добавлен компонент DBGrid, визуализирующий запрос, добавлен компонент MainMenu[27], сформирован состав главного меню. 6.4.3.4 Отображение таблиц базы данных в главном меню приложения Теперь необходимо, чтобы после обращения к командам главного меню Таблицы открывалась соответствующая таблица, готовая к редактированию. С этой целью для каждой таблицы следует создать форму. Процесс создания форм, в которых будут отображаться таблицы, готовые к редактированию, рассмотрим на примере создания формы к таблице Сведения о работниках. Формы для редактирования других таблиц базы данных создаются подобным образом. В окне Менеджера проектов (ProjectMeneger)[28] относительно записи Progect1 следует выбрать команду из контекстного меню Add New, Form. Фрагмент окна Менеджер проектов представлен на рисунке 188. Рисунок 188 – Добавление формы к проекту После создания формы в окне Unit3 следует разместить компонент DBGrid. Далее в свойстве DataSourse категории DataBase Инспектора объектов следует выбрать источник визуализации данных. В рассматриваем случае необходимо, чтобы открывалась таблица Сведения о работниках, источником визуализации данных указанной таблицы является DataModule2.DataSourse2. Для того, чтобы осуществить связь между формами (Unit2 и Unit3) следует в категории главного меню File выбрать команду Use Unit. В открывшемся окне необходимо выбрать для связи вторую форму (Unit 2) и нажать ОК. Таким образом, будет осуществлена связь второй и третьей форм. Необходимо проследить, чтобы свойство объекта ADOTadle, соответствующее таблице Сведения о работниках, т. е. Sved_o_rab находилось в режиме True. Теперь необходимо, чтобы при выборе категории главного меню Таблицы команды Сведения о работниках открывалась соответствующая таблица. Для осуществления этой операции следует перейти на главную форму (Unite1), произвести двойной клик мышью по компоненту MainMenu, а затем двойной клик по команде главного меню Сведения о работниках. Откроется окно кода, где в месте расположения курсора следует ввести запись Form3.Show. Указанная запись означает, что после выбора команды Сведения о работниках из категории главного меню Таблицы будет открываться форма 3. Фрагмент окна с записью соответствующего кода представлен на рисунке 189. Рисунок 189 – Фрагмент окна кода. Показ формы 3 Далее на форму 3 следует добавить кнопки, позволяющие проводить редактирование таблицы Сведения о работниках базы данных. Создадим на форме3 следующие кнопки: Добавить запись, Сохранить, Закрыть. Процесс создания кнопок представлен выше. Для кнопки Добавить запись необходимо приписать код: Datamodule2.Sved_o_rab.Insert. Для кнопки Сохранить необходимо приписать код: If Datamodule2.Sved_o_rab. Modified then datamodule2.Sved_o_rab. Post. Для копки Закрыть необходимо приписать код: Form3.Close. Фрагмент окна кода для кнопки Закрыть представлен на рисунке 190. Рисунок 190 – Фрагмент окна кода для кнопки Закрыть на форме 3 Теперь редактировать, т. е. добавлять записи в таблицу Сведения о работниках, можно через главное меню приложения. Редакция данных будет отображена в запросе на главной форме. Вид формы 3 приложения после проведенных действий представлен на рисунке 191. Рисунок 191 – Вид формы3 после добавления компонента DBGrid таблицы Сведения о работниках и кнопок Подобные формы следует создать для каждой таблицы базы данных «Органайзер». 6.4.3.5 Создание форм в главном меню приложения Выше был представлен процесс отображения таблиц базы данных в главном меню приложения. С этой целью создавалась категория главного меню Таблицы. Однако существует другой способ добавления записей в таблицы базы данных. Именно с этой целью и было создано меню Вставка. Для того чтобы вносить записи в таблицы базы данных через меню Вставка следует создать еще одну форму[29]. Созданная форма позволит заполнять сразу две таблицы: Сведения о работниках и Работники, так как связь между указанными таблицами один-к-одному. Далее на новой форме необходимо разместить компонент DBEdit с закладки DataControls (рисунок 192), а также компонент Label с закладки Standart (рисунок 193) Палитры компонентов. Рисунок 192 – Компонент DBEdit с закладки DataControls Рисунок 193 – Компонент Label с закладки Standart Для компонента DBEdit в Инспекторе объектов в свойстве DataSourse категории DataBase следует выбрать DataModule2.DataSourse2 (таблица Сведения о работниках). В свойстве DataField выберем ФИО (одно из полей таблицы Сведения о работниках) (рисунок 194). Рисунок 194 – Свойства компонента DBEdit, соответствующие таблице «Сведения о работниках» Для компонента Label в свойстве Caption категории Action необходимо ввести ФИО. Указанная запись означает, что компонент DBEdit будет отражать записи поля ФИО (рисунок 195). Рисунок 195 – Свойства компонента Label, соответствующие таблице Сведения о работниках Разместим указанные компоненты параллельно друг другу. Таким же образом следует вынести компоненты для всех других полей таблицы Сведения о работниках, исключая поле типа счетчик, т. е. Код работника (рисунок 196). Рисунок 196 – Форма 4 с компонентами DBEdit и Label (Таблица «Сведения о работниках») Далее на форму 4 необходимо вынести те же компоненты DBEdit и Label, присвоив им свойства, соответствующие таблице Работники. На рисунке 197 представлены свойства компонента DBEdit в Инспекторе объектов. Рисунок 197 – Свойства компонента DBEdit, соответствующие таблице Работники На рисунке 198 представлены свойства компонента Lable в Инспекторе объектов. Рисунок 198 – Свойства компонента Lable, соответствующие таблице Работники Далее следует создать на форме 4 две кнопки Сохранить и Закрыть. Для кнопки Сохранить необходимо прописать следующий код: if DataModule2.Sved_o_rab.Modified then DataModule2.Sved_o_rab.post. Для кнопки Закрыть необходимо прописать следующий код: form4.Close. Свяжем между собой форму4 (Unit4) и DataModulation (Unit2), а также форму1 (Unit1) и форму4 (Unit4). После этого следует вернуться в форму 1 и произвести двойной клик по компоненту MainMenu, а затем перейти в меню вставка и по команде Добавить работника произвести двойной клик мышью. В открывшемся окне кода следует приписать: form4.Show; Готовая форма 4 представлена на рисунке 199. Форма 4 имеет поля, соответсвующие таблице «Сведения о работниках»: - ФИО; - Адрес; - Дата рождения; - Домашний телефон; - Сотовый телефон; - Образование; - Семейное положение; - Количество детей; - Наличие загранпаспорта; - Подразделение организации; - Должность. Рисунок 199 – Готовая форма 4 Для ввода данных через созданную форму необходимо заполнить соответствующие поля, удалив там при помощи кнопки Delete предыдущие записи, после ввода данных следует нажать кнопку Сохранить. 6.4.3.6 Фильтрация данных Если база данных содержит слишком большой объем информации, с целью облегчения поиска требуемых данных следует проводить отсеивание информации или фильтрацию. Процесс организации возможности фильтрации информации рассмотрим на примере формы 3. С целью возможности фильтрации данных необходимо вынести на форму 3 компонент Edit закладки Standard Палитры компонентов (рисунок 200), а также создать кнопку Найти. Рисунок 200 – Компонент Edit закладки Standard Палитры компонентов Вид формы после указанных изменений представлен на рисунке 201. Рисунок 201 – Компонент Edit и кнопка Найти на форме 3 Для кнопки Найти следует приписать следующий код: datamodule2.Sved_o_rab.Filtered:=true; datamodule2.Sved_o_rab.Filter:='ФИО='''+edit1.Text+''''. Указанная запись означает, что фильтрация, т. е. поиск данных будет проводиться по полю ФИО после введения нужной информации в поле Edit и нажатия кнопки Найти. Отфильтрованные данные по полю ФИО представлены на рисунке 202. Рисунок 202 – Фильтрация данных по полю ФИО Подобную фильтрацию можно сделать по любому из полей таблицы. Контрольные вопросы 1 Каким образом в MS Access создаются запросы? Для чего необходимо создание запросов? 2 Каким образом можно отобразить запрос базы данных в приложении? 3 Что такое главное меню приложения? Что такое категория главного меню? Команда главного меню? Как создать главное меню формы в Delphi? 4 Каким образом в Delphi можно отобразить таблицы базы данных, вызываемые через главное меню? 5 Что отображается в окне Менеджер проектов (ProjectMeneger)? 6 Что означает запись кода Form3.Show? 7 Какой код приписывается для кнопки Закрыть? 8 Какими способами можно вводить данные в базу? 9 Для чего можно использовать компонент Edit? Компонент Lable? 10 Что такое фильтрация данных? Как обеспечить в Delphi возможность фильтрации данных? 11 Для чего в Delphi можно использовать компонент Edit? 12 Какой код приписывается для кнопки Найти при фильтрации данных?
Не нашли, что искали? Воспользуйтесь поиском:
|