MS Access:使用完整日志 table 审核 table 以跟踪 table 更改
MS Access: Audit a table with a full log table to track table changes
我在这个网站上发现了一些与可能问题相关的帖子,但没有一个对我有帮助。所以这不是重复的。
问题:
一开始我觉得这是一件很容易做的事情,但它变得复杂且非常具有挑战性。我是 MS Access 的新手,所以 - 经过多日的努力 - 我希望在这里找到解决方案。
假设我们有一个像这样的简单 table:
现在,我需要在记录级别跟踪此 table 的更改,并在另一个 table 中记录更改(比如日志 table),如下所示:
其中 track_type:
- 用于添加(插入)
- 用于编辑(更新)
- 删除
更改学生表格上的记录时应记录更改(add/edit/delete)。
我的问题是我无法正确生成更改。
我的表单 必须刷新 很多,这使得日志中的条目过多 table 像这样:
如您所见,插入一条记录需要两个日志,而不是一个日志。
我在网上找遍了,没有找到这种日志记录。我找到了有关在字段级别登录的信息,但这不是我想要的。我知道在大多数情况下它可能更好,但不适合我。
所以,我将不胜感激任何指导 information/code。
发布了一个专注于问题的最小化数据库Here,您可以下载它,看看我尝试了什么以及我卡在哪里。
备注:
- 只有当用户:
- 从表单上的当前记录移动。
- 退出表单
- 在同一条记录上不应发生更改,即使这些更改已提交给学生 table。
- 刷新在所难免
- 如果在现场级别,审计跟踪没有帮助。
- 数据宏没有帮助,因为可以多次提交更改。
- Before/After 由于 Refresh 方法,插入或更新事件有问题。
- 非常感谢使用附加数据库展示您的解决方案。
- 自定义导航按钮不是一个选项。
经过多次尝试,我想到了这个解决方案:
创建与要跟踪的记录具有相同结构的自定义用户数据类型。
类似于:
Private Type Student_Record
s-id
s_Name
s_age
End Type
Dim SR as Student_Record
然后在此 SR 记录而不是实际记录上进行所有验证。
如果一切顺利,你就走。
如果有什么不对的地方,请返回记录并要求用户更正。
需要更多编码,但它有效。
感谢用户自定义类型。
我在这个网站上发现了一些与可能问题相关的帖子,但没有一个对我有帮助。所以这不是重复的。
问题:
一开始我觉得这是一件很容易做的事情,但它变得复杂且非常具有挑战性。我是 MS Access 的新手,所以 - 经过多日的努力 - 我希望在这里找到解决方案。
假设我们有一个像这样的简单 table:
现在,我需要在记录级别跟踪此 table 的更改,并在另一个 table 中记录更改(比如日志 table),如下所示:
其中 track_type:
- 用于添加(插入)
- 用于编辑(更新)
- 删除
更改学生表格上的记录时应记录更改(add/edit/delete)。
我的问题是我无法正确生成更改。
我的表单 必须刷新 很多,这使得日志中的条目过多 table 像这样:
如您所见,插入一条记录需要两个日志,而不是一个日志。
我在网上找遍了,没有找到这种日志记录。我找到了有关在字段级别登录的信息,但这不是我想要的。我知道在大多数情况下它可能更好,但不适合我。
所以,我将不胜感激任何指导 information/code。
发布了一个专注于问题的最小化数据库Here,您可以下载它,看看我尝试了什么以及我卡在哪里。
备注:
- 只有当用户: - 从表单上的当前记录移动。 - 退出表单
- 在同一条记录上不应发生更改,即使这些更改已提交给学生 table。
- 刷新在所难免
- 如果在现场级别,审计跟踪没有帮助。
- 数据宏没有帮助,因为可以多次提交更改。
- Before/After 由于 Refresh 方法,插入或更新事件有问题。
- 非常感谢使用附加数据库展示您的解决方案。
- 自定义导航按钮不是一个选项。
经过多次尝试,我想到了这个解决方案:
创建与要跟踪的记录具有相同结构的自定义用户数据类型。
类似于:
Private Type Student_Record
s-id
s_Name
s_age
End Type
Dim SR as Student_Record
然后在此 SR 记录而不是实际记录上进行所有验证。
如果一切顺利,你就走。
如果有什么不对的地方,请返回记录并要求用户更正。
需要更多编码,但它有效。
感谢用户自定义类型。