Для AdoQuery вы должны использовать свойство DataSource.Вот что вы должны сделать:
1 - Перетащите AdoQuery на форму в качестве основного набора данных и запишите запрос, используя его свойство SQL.
2 - Удалите компонент DataSource на формеи подключите его к основному AdoQuery, который вы создали на шаге 1.
3 - Перетащите еще один AdoQuery на форму в качестве набора подробных данных.
4 - Установите свойство DataSource вашего подробного набора данныхисточник данных, который подключен к основному набору данных (см. шаг 2).
5 - запишите SQL-запрос для вашего подробного набора данных, используя его свойство SQL;в запросе должно быть предложение WHERE, которое фильтрует ваш подробный набор данных с использованием параметра, имя которого совпадает с именем одного из полей в главном источнике данных.Например, предположим, что у вас есть поле идентификатора в вашем наборе основных данных и поле с именем MasterID в вашем наборе подробных данных, которое является внешним ключом для поля идентификатора основного набора данных.Теперь, чтобы подключить подробный набор данных к основному, используя эти поля, вы можете написать запрос для подробного набора данных следующим образом:
SELECT * FROM DetailTable WHERE MasterID = :ID
Как видите, у нас есть параметр SQL с именем ID, которыйимеет то же имя, что и поле ID в источнике основных данных.Теперь, когда вы просматриваете записи в основном источнике данных, Delphi автоматически получает значение поля ID и использует его в качестве значения параметра ID в наборе подробных данных, а также запрашивает набор подробных данных.Вам не нужно устанавливать значение параметра и запрашивать явно.Это будет сделано автоматически для вас.
Я надеюсь, что это прояснит вам, как установить отношения мастер-деталь с использованием наборов данных AdoQuery.
С уважением