Filemaker 中的日志记录更改,如触发器在 SQL 中起作用

Log record changes in Filemaker like triggers works in SQL

我正在尝试在 Filemaker 中创建以下场景:

我基本上想在布局中使用时跟踪 table 中值的变化。

为简单起见,我有一个包含两列的 table,Table1 在第一列中有一个 ID(主键),在第二列中有一个值。当我 update/add 第 2 列中的值用于 Table 1 中的 ID 时,我想将 ID、新值和当前时间戳存储在 Table 2.

我想要 Table 1 中的更改和新记录。

In SQL 这很简单,只需创建一个触发器在 Table 2 中插入新记录 Table 1.

但还没有想出如何在 Filemaker 中做到这一点。我知道我可以使用脚本触发器。我的猜测是使用脚本触发器 OnRecordCommit 和 New Record/Request,并在脚本中执行如下操作:

布局中的 OnRecordCommit "table1"

  1. 转到布局 "table2"
  2. 新建Record/Request
  3. 设置字段Table2::LogID; Table1::ID
  4. 设置字段Table2::LogValue; Table1::Value
  5. 设置字段Table2::LogTimestamp;得到(当前时间戳)

当我尝试上述方案时,在 table1

中创建了无限空记录

指导真是太棒了!此致,克里斯托弗

您正在更改上下文,但我没有看到您正在链接到您尝试记录的记录。在离开 table1 布局并从这些变量设置日志记录之前,尝试将 logID 和 logValue 存储在变量中。

另一个选择是看看别人做了什么。查看这些链接:

http://timdietrich.me/fmeasyaudit/

https://www.excelisys.com/fm-tips/filemaker-pro-13-tip-n-trick-easy-bake-filemaker-pro-13-audit-trail/

http://www.nightwingenterprises.com/demos2014/demo1306.html