在主 - 细节关系中的ADOTable.Locate

时间:2011-09-08 10:30:36

标签: delphi master-detail locate tadotable

我在两个表之间有一个主 - 详细关系,我在主表中选择一个记录,详细信息显示在详细信息表中,接下来我想在详细信息表中找到有关主表所选记录的详细信息但是当我使用ADOTable.Locate(...),它位于所有详细记录表中! 例如,我有这个表:

主人:

ID |名称

11 |马哈茂德
22 | Maseoud

...

细节:

UID | PET(!)
11 |猫
22 |狗
22 |猫

我选择了用户“Mahmood”(ID = 11)并且在详细信息表中仅选择了1个记录,其中UID = 11且Pet = Cat
现在我想找到详细信息表:
DetailTable.Locate('Pet','Dog',[])

上面的“定位”返回“TRUE”,而选定用户的详细信息中没有带“Dog”值的记录

如何解决这个问题?
我想在主表中选择记录的详细信息

先谢谢......

1 个答案:

答案 0 :(得分:1)

TCustomADODataSet.LocateRecord适用于未经过滤的克隆,请在搜索中指定所有相关字段:

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