ADOTable.Locate в отношениях Мастер-Деталь - PullRequest
1 голос
/ 08 сентября 2011

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

Мастер:

ID | Имя

11 | Mahmood
22 | Maseoud

....

Деталь:

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

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

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

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

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

1 Ответ

1 голос
/ 08 сентября 2011

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

DetailTable.Locate('UID; Pet', VarArrayOf([11, 'Dog']), [])
...