MS Access:当Status字段设为closed时自动更新Date closed字段的问题
MS Access 自动更新关闭日期的实现方案
原宏的问题
- 无需嵌套
EditRecord块:「After Edit」宏本身就是在记录编辑完成后触发,此时记录已处于可编辑状态,额外的EditRecord会导致逻辑冲突。 - 字段引用冗余:直接用
[Status]和[closed_date]即可,不需要加表名前缀(宏默认针对当前编辑的记录)。 - 时间戳需求不符:
Date()仅返回日期部分,若要包含时分秒的完整时间戳,需改用Now()。
修正后的「After Edit」宏代码
IF [Status] = "CLOSED" THEN SetField Name: [closed_date] Value = Now() ENDIF
更通用的替代方案:表数据宏
如果希望无论通过窗体、查询还是直接修改表都能触发更新,建议使用表的数据宏:
- 打开目标表,切换到「表设计」视图。
- 点击「表格工具」→「创建数据宏」→「After Update」。
- 输入和上面一致的逻辑即可。
内容的提问来源于stack exchange,提问作者newuser1717
相关产品推荐
相关产品推荐

