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