一尘不染

如何获取在Access数据库中已更改的记录详细信息

sql

我有一个包含许多表和数千条记录的Access数据库,如果有人更改其中的任何数据,任何行甚至仅更改一个单元格,是否有任何方法可以了解在其中更改了特定的行或单元格Access数据库,任何属性还是我应该使用任何触发器?


阅读 270

收藏
2021-03-08

共1个答案

一尘不染

几年前,我在使用MSSQL
DB时遇到了类似的问题,而且我似乎还记得ACCESS(MDB)和SQL(MDF)数据库都不固有地支持此功能。如果我没记错的话,您将必须采用以下原则:

1)绝不应该删除事务数据,只能引用历史记录以及包含更改后值的新记录。我从三个角度看待它:

  • 我有一列称为PrecursorRecId的列,其中包含与更新相关的最新记录的record_id。
  • 保留了另一列和Context_ID,在该列下所有相关记录通过一个公共值链接,该公共值是AuditTxnContext表的关键Id列。
  • 记录的TxnDate(非常逻辑)

2)主数据记录也未更改,但每个记录都有一个有效日期和有效日期,其中具有NULL有效日期为NULL的记录被视为最新记录。根据表的敏感性,在创建MaterData记录时会附带“审计条目”记录。再次,有一个RecordCreatedDateTime,它不会自动匹配EffectiveFromDate标记。

这可能对您有所帮助,但是对现有数据没有太多帮助。我也不太了解您正在做什么,所以我的输入是相当通用的。希望对您有帮助。如果我有错,我欢迎任何人的意见,这就是我们应对挑战的方式。

如果您仍在处理该问题,请告诉我更多信息。如果没有,也许关闭您的问题。

2021-03-08