Одним из самых распространенных способов использования Текстовых боксов и контролов Grid является отображение связанных Родительской и Дочерней Таблиц. При перемещении по соответствующим Записям Родительской Таблицы, автоматически обновляются соответствующие данные из Дочерней таблицы.

Если в вашей, создаваемой Форме, точнее: в объекте Среды Данных Формы, уже детально описаны все необходимые Элементы Связи между Родительской и Дочерней Таблицами, то создание на данной Форме Контролов отображения требуемых Данных является достаточно простым делом.

Для определения объектов отображения данных типа "Один-ко-Многим" с помощью инструментария Data Environment:

  1. Переместите требуемые Поля из Родительской Таблицы на разрабатываемую Форму с помощью инструментария Диспетчера Среды Данных .

  2. Далее, переместите дочернюю таблицу на указанную Форму из системного окна Диспетчера Среды Данных.

Замечание. Во многих случаях описанный выше алгоритм является вполне достаточным для создания объектов отображения данных из связанных Таблиц (родительской и дочерней). Однако, для создания более сложных вариантов отображения связанных данных типа "один-ко-многим" не рекомендуется использовать встроенные механизмы Диспетчера Среды Данных (Data Environment Designer).

Для определения объектов, отображающих данные типа "один-ко-многим" без использования инструментария диспетчера Среды Данных:

  1. Разместите на Форме Текстовые контролы для требуемых Полей из Родительской таблицы.

  2. Определите соответствующие значения для свойств ControlSource, созданных выше текстовых боксов полей родительской Таблицы.

  3. Разместите контрол типа Grid на создаваемой Форме.

  4. Определите значение свойства RecordSource, указанного выше контрола Grid, как имя Алиаса дочерней Таблицы данных.

  5. Определите значение свойства LinkMaster для контрола Grid, как имя Алиаса Родительской Таблицы.

  6. Определите значение свойства ChildOrder для контрола Grid, как имя индексного Тэга дочерней Таблицы, характеризующего установку Связи между Родительской и Дочерней Таблицами.

  7. Определите значение свойства RelationalExpr для контрола Grid, как имя выражения Связи указанных Таблиц. Например, если свойство ChildOrder содержит имя Тэга, который построен на основе выражения "lastname + firstname", то для рассматриваемого свойства устанавливается данное выражение Связи.

Для обоих вариантов определения объектов отображения связанных Наборов данных типа "один-ко-многим" вам необходимо также создать управляющие кнопки перемещения по Записям Родительской Таблицы и одновременного обновления "привязанных" данных из Дочерней таблицы. К примеру, следующий фрагмент программного Кода размещается в коде события Click одной из командных кнопок:

  CopyCode imageКопировать Код
SELECT orders && если Orders - родительская Таблица
SKIP
IF EOF( )
GO BOTTOM
ENDIF
THISFORM.Refresh

См. также