【发布时间】:2018-05-04 17:24:23
【问题描述】:
我在这个网站上发现了一些与可能问题相关的帖子,但没有一个对我有帮助。所以这不是重复的。
问题:
在我看来,这在一开始是一件很容易的事情,但它变得复杂且非常具有挑战性。我对 MS Access 还很陌生,所以 - 在挣扎了很多天之后 - 我希望在这里找到解决方案。
假设我们有一个像这样的简单表格:
现在,我需要在记录级别跟踪此表的更改并将更改记录到另一个表(Say Log 表)中,如下所示:
其中track_type:
- 用于添加(插入)
- 用于编辑(更新)
- 用于删除
学生表格上的记录发生更改时,应记录更改(添加/编辑/删除)。
我的问题是我无法正确生成更改。
我的表单必须刷新很多,这使得日志表中的条目过多,如下所示:
如您所见,插入一条记录需要两个日志,而不是一个日志。
我彻底搜索了网络,但我找不到这种日志记录。我找到了有关在字段级别登录的信息,但这不是我想要的。我知道在大多数情况下它可能会更好,但不适合我的情况。
所以,我将不胜感激任何指导信息/代码。
一个专注于该问题的最小化数据库已发布Here,您可以下载它并查看我的尝试以及我遇到的问题。
注意事项:
- 只有当用户: - 从表单上的当前记录移动。 - 退出表格
- 不应在同一记录上发生更改,即使这些更改已提交到 Student 表。
- 刷新是不可避免的。
- 如果在现场级别,Audit Trail 没有帮助。
- 数据宏没有帮助,因为可以多次提交更改。
- 插入或更新事件之前/之后由于刷新方法而存在问题。
- 非常感谢您使用随附的数据库展示您的解决方案。
- 自定义导航按钮不是一个选项。
【问题讨论】:
标签: database forms logging tracking ms-access-2016