Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
Внизпоиск по подчинённой таблице Найти похожие ветки
← →
Пауло Сержио (2015-05-21 17:35) [0]вопрос гуглил. Один access-файл .mdb, в нём две таблицы, один ADOConnection, два DataSource, два ADOTable и соотвественно два DBGrid.
ADOTable2 связан по MasterSource/MasterField с ADOTable1.
В первой таблице Table1 - список фирм, во второй Table2 - список сотрудников работающих в них. Всё отлично работает. Индексы везде есть, поля связаны.
НО, надо сделать глобальный поиск по подчинённой таблице Table2 (поиск по фамилиям).
Обычный locate или фильтр ищет только среди сотрудников в рамках выбранной пользователем фирмы на DBGrid, вместо глобального поиска.
Надо поле "глобальный поиск по фамилиям", пользователь ввёл фамилию - нашлась и фамилия в таблице Table2 и фирма в Table1.
Уважаемые Мастера, ткните носом хоть куда копать? Дальше я уже сам.
Заранее благодарю!
← →
Плохиш © (2015-05-21 18:20) [1]надо третий TAdoDataSet и в нём с помощью запроса искать требуемое.
← →
sniknik © (2015-05-21 21:29) [2]> Индексы везде есть
в курсе, что ADOTable их не использует?
> ткните носом хоть куда копать? Дальше я уже сам.
SQL
← →
pavel_guzhanov © (2015-05-22 12:36) [3]Как-то так:
select table2.family, table1.firm_name
from table2
join table1 on table1.id = table2.id_firm
where table2.family = :param1
← →
Пауло Сержио (2015-05-22 13:50) [4]>>Как-то так:
Спасибо! Я уже сам въехал... Немного криво, но работает: Один ADOQuery на форму, затем SQL запросом получил искомые пары записей в первой таблице и во второй (Фамилия - Фирма).
Дальше Locate по полученным ID по первой таблице, затем по второй, чтоб в двух DBGrid визуализировать результат.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.06 c