Добрый вечер. У меня есть база в аксессе. Таблицы: Dom, Kvart, Zilci. Подключена к делфи ч-з АДОконект. Подскажите, через какие компоненты лучше отображать данные, чтобы была возможность организовать поиск по полям из разных таблиц. Например, в Edit1 ввели "Вася". Мне нужно Чтоб отобразился только тот дом, в котором живет вася, только та квартира, в которой он живет, и из всех жильцов этой квартиры только один Вася. Или, если в эдит ввели 2-ой Донской, должны отобразиться домв с двнным адресом и все квартиры в них и все жильцы квартир.
Сейчас у меня все НЕ работает

следующим образом: На форме три ДБГрида, в датамодуле:
Dom --> ADOTable1 --->DataSource1 --> DBGrid1 / Kvart ---> ADOTable2 ---> DataSource2 ---> DBGrid2 / Zilci ---> ADOQuery1 ---> DataSource3 ---> DBGrid3. В DataSource Query указан DataSource2.
В на в кладке Diagramm датамодуля выставлены связи. Dom - главная таблица, Kvart - зависимая. Zilci зависит от Kvart.
Проблема в следующем: пишу запрос
fDM.adoquery1.sql.add('Select Distinct Z.*');
fDM.adoquery1.sql.add('From Zilci as z, Kvart AS K, Dom AS D');
fDM.adoquery1.sql.add('where ((Z.FIOHost LIKE '+#39+'%'+edit1.text+'%'+#39') OR (D.GOD LIKE '+#39+'%'+edit1.text+'%'+#39') OR (D.Comment LIKE '+#39+'%'+edit1.text+'%'+#39') OR (Z.Pasport LIKE '+#39+'%'+edit1.text+'%'+#39')) AND Z.Flat=K.Flat AND Z.Address=K.Address And K.Address=D.Address');
С нижней таблицей все отлично, из всех жильцов отображается только Вася. Но, в других таблицах отображаются все дома и все квартиры. Решил проблему, заменив тейбл1 и тейбл2 на два квери и в каждый кидал одинаковый запрос, меняя только имя таблицы в селекте, но этот способ, судя по-всему не самый правильный.

В общем, у меня полнейшая каша в голове с компонентами.
P.S. 1.Засунуть все таблицы в один грид не вариант - он получится километровой длины.
2.В поиске участвуют также memo поля.