Редактор полей

Печать Предыдущая страница Стартовая страница Следующая страница

По умолчанию для каждого физического поля при открытии набора данных создается  объект типа 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).

 

Редактор поля:

_bm5099

 

7. Создать новое поле R_PRAVONAME  (Tаблица1) .

Окно создания поля выбора показано на рисунке.

 

Редактор поля. Создание нового поля:

_bm5100

 

Поле выбора названо 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 – для занесения в него значения.

На рисунке показан пример использования поля выбора. В верхней части формы отображения таблица “Права физических лиц”, а в нижней части – таблица данных, которая приведена для наглядности. На практике связанный набор данных обычно не показывается. При выборе значений из списка в поле выбора для связанного набора данных текущий указатель устанавливается на запись, из которой было выбрано значение.

 

Форма пользователя с использованием поля выбора в таблице:

_bm5101