Редактор полей |
По умолчанию для каждого физического поля при открытии набора данных создается объект типа TField и в наборе данных доступны все поля. Эти поля являются динамическими. Для создания статических полей используется специальный редактор полей. В случае, если хотя бы одно поле набора данных является статическим, то динамические поля создаваться не будут. Таким образом, в наборе данных будут доступны только статические поля, а все остальные считаются остутствующими. Определить или отменить состав статических полей можно с помощью редактора полей на этапе разработки формы пользователя. Для запуска Редактора полей следует щелкнуть правой кнопкой мыши на компоненте Таблица и выбрать пункт Редактор полей из вызванного контекстного меню. Для перемещения по полям используются 4 кнопки редактора или контекстное меню (активизируется нажатием правой кнопки мыши на списке). Большую часть редактора занимает список статических полей, при этом поля перечисляются в порядке их создания, этот порядок может отличаться от порядка полей в таблице БД. Первоначально список статических полей пуст. С помощью редактора полей разработчик может: - Создать новое статическое поле. - Удалить статическое поле. - Изменить порядок статических полей. - Создать новое поле.
Для добавления статического поля следует вызвать контекстное меню редактора полей и выбрать пункт Добавить поле, в результате чего появится диалоговое окно добавления новых полей. В списке Aviable fields (доступные поля) окна содержатся все те поля набора данных, которые еще не являются статическими. После выбора одного или нескольких полей и нажатия кнопки ОК эти поля добавляются в состав статических полей набора данных. Для создания нового поля нужно выбрать в контекстном меню редактора полей пункт Новое поле. В результате появится диалоговое окно создания нового статического поля. Для задания общих свойств используется группа управляющих элементов Свойства поля. В поле Имя задается имя поля. Тип должен быть задан в обязательном порядке для любого поля, необходимость задания размера поля зависит от типа. Тип поля (Lookup-поле) – поле выбора, значение которого можно выбирать из списка, формируемого на основе критериев и правил. В группе Свойствтва lookup-поля для поля выбора устанавливаются такие параметры, как набор данных и поля связи, а также поля для формирования списка выбора и результата. Поле выбора предоставляет возможность выбирать одно значение из предлагаемого списка и автоматически заносить информацию в заданное поле модифицируемой записи. С полем выбора связывается список, заполняемый значениями указанного поля из второй таблицы. Обе таблицы связываются с помощью соответствующего поля.
Рассмотрим пример использования поля выбора. В проекте БД “Учет и регистрация землевладений” (Noginsk_district.DBX) ведется таблица “Права физических лиц” (Rightf.dbf) в которой заносится информация (в скобках приведены название полей таблицы): - Уникальный номер записи (R_NUMB). - Кадастровый номер земельного участка (R_CADNUM). - Уникальный код права (R_PRAVO).
В другой таблице “Классификатор прав” (Spravr.dbf) хранятся данные о каждом праве, в таблицу входят: - Уникальный код права (S_NUMB). - Название вида права (S_NAME).
Сформируем поле выбора, которое содержит перечень видов прав, из которого пользователь выбирает одно из названий. После выбора вида права в поле R_PRAVO таблицы автоматически заносится соответствующий код. Для создания поля выбора необходимо выполнить действия: 1. В Администраторе данных в закладке Формы пользователя нажать кнопку Создать. Активизируется Конструктор форм. 2. Создать новую форму (команда Форма/Новая, либо выбрав кнопку Создать новую форму). 3. Поместить на форму компонент Таблица1, который осуществляет доступ к записям таблицы “Права физических лиц”( Rightf.dbf). 4. Поместить на форму компонент Таблица2, который осуществляет доступ к записям таблицы “Классификатор прав” (Spravr.dbf). 5. Поместить на форму компонент Сетка для отображения данных Таблицы1. 6. C помощью редактора поля добавить в список статическое поле R_PRAVO (Таблица1).
Редактор поля:
7. Создать новое поле R_PRAVONAME (Tаблица1) . Окно создания поля выбора показано на рисунке.
Редактор поля. Создание нового поля:
Поле выбора названо R_PRAVONAME и принадлежит набору данных Таблица1. Для формирования списка выбора используется поле S_NAME набора данных Таблица 2. Связь между двумя наборами данных Таблица1 и Таблица2 осуществляется через их поля кода права R_PRAVO и S_NUMB, соответственно. Использование поля выбора заключается в том, что пользователь выбирает значение из поля результата R_PRAVONAME, содержащего список, который построен на основании значений поля S_NAME. После выбора значения для поля R_PRAVONAME из поля связи S_NUMB автоматически заносится соответствующее значение в поле R_PRAVO. Таким образом, поле S_NAME, содержащее список, используется для выбора, а поле связи R_PRAVO – для занесения в него значения. На рисунке показан пример использования поля выбора. В верхней части формы отображения таблица “Права физических лиц”, а в нижней части – таблица данных, которая приведена для наглядности. На практике связанный набор данных обычно не показывается. При выборе значений из списка в поле выбора для связанного набора данных текущий указатель устанавливается на запись, из которой было выбрано значение.
Форма пользователя с использованием поля выбора в таблице:
|