В начало

Механизм «master-detail»

 

            Есть некая база данных «Firma.gdb», расположенная в папке «C:\INTERBASE», в ней две таблицы «Otdeli» и «Sotrudniki». Необходимо с помощью средств «Дельфи-7» организовать связь двух таблиц по типу «master-detail».

            Таблица «Sotrudniki» имеет следующие поля:

ID_Sotrudnika

FIO

Telefon

ID_Otdela

Zarplata

            А таблица «Otdeli» содержит:

ID_Otdela

Nazvanie

Telefon

Adres

            Для реализации механизма «master-detail» на форме приложения должны быть расположены следующие компоненты:

Общие

IBDataBase

 

IBTransAction

Для таблицы «Otdeli»

IBDataSet1

 

DataSource1

Дл таблицы «Sotrudniki»

IBDataSet2

 

DataSource2

 

Рис. 1. Расположение компонентов на форме

Две особенности, чтобы связать две таблицы:

1

В настройке «DataSource» компонента «IBDataSet2» нужно указать «DataSource

2

В настройке «SelectSQL» компонета «IBDataSet2» нужно изменить SQL-запрос на следующий:

SELECT *

FROM Sotrudniki

WHERE ID_Otdela=:ID_Otdela

            Если все сделано правильно, то при выборе отдела в верхней таблице «Otdeli» автоматически в нижней таблице «Sotrudniki» будет выведен список сотрудников, работающих в данном конкретном отделе.

Рис. 2. Результат работы программы