ADOTable.Locate в отношениях Мастер-Деталь

У меня есть отношение Master-Detail между двумя таблицами, я выбираю запись в главной таблице, и ее детали отображаются в детальной таблице, затем я хочу найти в детальной таблице только подробности о выбранной записи основной таблицы, но когда я использую ADOTable. Найдите (...), он находится во всех таблицах записей данных!
Например, у меня есть эти таблицы:

Мастер:

ID | название

11 | Mahmood
22 | Maseoud

....

Деталь:

UID | Pet (!)
11 | Кошка
22 | Собака
22 | Кошка

Я выбрал пользователя "Mahmood" ( ID = 11), и в таблице с подробностями только 1 запись показана с UID = 11 и Pet = Cat
Теперь я хочу найти на таблице подробно:
DetailTable.Locate ('Домашнее животное', 'Собака', [])

"Locate" выше возвращает " TRUE ", тогда как в деталях выбранного пользователя нет записи со значением "Dog"

Как я могу решить эту проблему?
Я хочу найти в деталях выбранную запись в мастер-таблице

Спасибо, прежде чем...

1 ответ

Решение

TCustomADODataSet.LocateRecord работает с нефильтрованным клоном, укажите все соответствующие поля в вашем поиске:

DetailTable.Locate('UID; Pet', VarArrayOf([11, 'Dog']), [])
Другие вопросы по тегам