MS Access更新查询无生效,请求排查问题原因
Access 更新查询未生效的问题解决
1. 代码中的字段赋值错误
你的SQL语句里存在明显逻辑错误:
MECOutPut.[PM Volume] = [SB Export].[Session PM]
这里把[SB Export]的时段字段Session PM错误赋值给了MECOutPut的病例数字段PM Volume,完全不符合需求。你需要将其修改为对应病例数的字段(比如[SB Export].[Volume PM],具体以你的Excel导出表实际字段名为准)。
2. 运行方式错误导致未执行更新
你在数据表视图操作查询,这只会显示筛选后的记录,不会执行更新操作。正确执行更新的方式是:
- 打开查询的设计视图,点击工具栏的「运行」按钮(感叹号图标);
- 或者在导航窗格选中该查询,右键选择「运行」。
3. 其他可能的排查方向
- 连接字段类型不匹配:检查
[Schedule Date]和PRN两个关联字段在MECOutPut和[SB Export]中的数据类型是否一致(比如日期字段需同为「日期/时间」类型,PRN需同为文本或数字类型),类型不匹配会导致关联失败,无匹配记录可更新。 - 表单控件值格式问题:确认
[Forms]![frmMain]![txtDate]返回的日期格式与[Schedule Date]字段格式一致。如果控件返回文本格式日期,而字段是日期类型,会导致筛选无匹配。可以临时将WHERE条件替换为具体日期(比如#2024-05-20#)测试是否能正常更新。 - 链接表锁定/权限问题:检查链接的Excel文件是否被其他程序打开锁定,或者Access是否有该文件的写入权限,锁定或权限不足会导致更新失败。
结论:无需重建查询
先修正字段赋值错误,改用正确方式运行查询,大部分情况下就能解决问题。如果仍未生效,再逐一排查上述其他点。
内容的提问来源于stack exchange,提问作者Scrans0n
相关产品推荐
相关产品推荐

