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

标签 sql database ms-access ms-access-2007

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

最佳答案

几年前,我在使用 MSSQL 数据库时遇到过类似的问题,我似乎记得 ACCESS (MDB) 和 SQL (MDF) 数据库本身并不支持这个问题。如果我没记错的话,您将不得不采用以下原则:

1) 永远不要编辑交易数据,只能引用包含更改值的新记录的历史记录。我从三个角度来看它:

  • 我有一个名为 PrecursorRecId 的列,其中包含 最近记录与更新相关的内容。
  • 另一列保存所有相关记录的Context_ID 由一个公共(public)值链接,该公共(public)值是 AuditTxnContext 表。
  • 记录的 TxnDate(非常符合逻辑)

2) 主数据记录也没有改变,但每条记录都有一个 EffectiveFromDate 和 EffectiveToDate,其中具有 NULL EffectiveToDate 的记录被认为是最新的。根据表的敏感性,MaterData 记录的创建伴随着 Audit Entry 记录。同样,有一个 RecordCreatedDateTime 不会自动匹配 EffectiveFromDate 戳记。

这可能有助于您继续前进,但对您现有数据的帮助不大。我也不太清楚你在做什么,所以我的意见很笼统。我希望它有任何帮助。如果我有错误,我欢迎任何人提出意见,这就是我们应对挑战的方式。

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

干杯

苹果

关于sql - 如何获取Access数据库中已更改记录的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193096/

相关文章:

php - 使用php更新sql表

php - 这个sql代码有什么问题?

database - 具有 GROUP BY 和聚合函数的 INNER JOIN 3 个表

mysql - 用于搜索地理坐标的数据库设计

c# - PetaPOCO 与 MS Access 数据库

java - JDBC-ODBC SQLException :General Error

sql - 查询性能INNER JOIN ON和比较

mysql - 将整数转换为小时mysql

使用 CUDA 实现 MySQL

java - Java 8 中删除了 JDBC-ODBC 桥,最好的替代方案是什么?