更改键值后刷新查询字段值

问题描述

我有两个表:

  • DEPARTMENTS(索引,名称
  • EMPLOYEES(索引,名称,DEPID,DepName)

DepName一个查询值,它使用引用DEPARTMENTS.Name的{​​{1}}来检索DEPID

使用显示DEPARTMENT.Index表的DBGrid并更改了EMPLOYEES的值后,记录的DEPID不会更新,并且在我重新运行查询之前不会反映出更改!

总有办法做到这一点,并使查找值实时反映更改吗?

  • Rad Studio XE Tokyo,
  • Firebird 3.0,
  • FireDac组件(TFDQuery),

解决方法

如果您可以执行 EMPLOYEES.Post,则查找字段应正确刷新。为了继续编辑记录,您可以再次执行 EMPLOYEES.Edit。这可能不是正确的方法,但它确实对我有用。

您可以尝试使用 CalcField.RefreshLookupList ,它看起来是正确的方法,但它在 Delphi XE6 上对 Postgres 数据库使用 fireac 时对我不起作用。