Приложения для работы с локальными базами данных_______________521

стику этих подразделений (поле Proizv булева типа, в котором true означает «Про-
изводство», a false — «Управление»). И хотим, чтобы пользователь, перемещаясь
по этой таблице, видел не только характеристику подразделения, но и список со-
трудников этого подразделения, т.е. записи из таблицы Pers, в которых значение
поля Dep совпадает со значением поля Dep в текущей записи первой таблицы.

В этом случае головной является таблица Dep, вспомогательной — таблица
Pers, а ключом, определяющим их связь, являются поля Dep из обеих таблиц.

Откройте новое приложение и разместите на нем 2 комплекта Table, DataSo-
urce и средств отображения данных. Результат может выглядеть например так,
как показано на рис. 9.42. В первом комплекте использован компонент отображе-
ния DBCtrlGrid, на панелях которого располагаются метки DBText. Комплект
обычным образом настраивается на первую, головную (maste'") таблицу — Dep. Таб-
лица должна быть индексирована по полю Dep, которое будет ключом для связи таб-
лиц. Метки, размещенные на DBCtrlGrid, связываются с полями Dep и Proizv.

Рис. 9.42

Простое приложение,
работающее с двумя
таблицами данных

Второй комплект компонентов использует для отображения данных компо-
нент DBGrid. Комплект настраивается на вторую вспомогательную таблицу —
Pers. Для таблицы должен быть задан индекс, содержащий ключевое поле связи
Dep. После того, как все это сделано, можете выполнить приложение, чтобы убеди-
ться, что все сделано правильно. Пока вы имеете две несвязанные друг с другом
таблицы, по которым можете перемещаться независимо.

Теперь свяжите эти таблицы. Разорвите временно связь с базой данных во вто-
ром комплекте, настроенном на вспомогательную таблицу Pers (установите Active
= false). Далее в свойстве MasterSource компонента Table, настроенного на вспо-
могательную таблицу, установите имя головной таблицы. После этого щелкните
на свойстве MasterFields. Откроется окно редактора связей полей (Field Link Desig-
ner). Его вид приведен на рис. 9.43. В нем слева в окне Detail Fields расположены
имена полей вспомогательной таблицы, но только тех, по которым таблица индек-
сирована. Именно поэтому надо индексировать таблицу так, чтобы индекс вклю-
чал ключевое поле связи Dep. Справа в окне Master Fields расположены поля го-
ловной таблицы. Выделите в одном и другом окне ключевое поле (в нашем случае

Рис. 9.43

Окно редактора связей полей головной и
вспомогательной таблиц