You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access跨表更新查询问题:相同SHPMT ID下FILERENTRYNBR更新错误

解决Access批量更新多匹配行的问题

核心问题原因

你当前只用SHPMT ID做关联条件,当该字段存在重复值时,Access的更新查询会随机选取源表中的一条匹配记录更新所有目标行,导致同一个FILERENTRYNBR被重复赋值。利用PORT ARVL CD与FILERENTRYNBR的唯一对应关系,调整关联条件即可解决。

具体解决方案

方法1:通过设计视图修改更新查询

  1. 打开Access,创建或打开现有更新查询的设计视图
  2. 添加源表Current和目标表All Holds
  3. 建立两个关联关系:
    • 拖动Current.SHPMT ID到All Holds.SHPMT ID,建立等值关联
    • 拖动Current.PORT ARVL CD到All Holds.PORT ARVL CD,建立等值关联
  4. 在目标表All Holds中选中FILERENTRYNBR字段,在「更新到」行输入[Current].[FILERENTRYNBR]
  5. (可选)若只想更新空值行,添加[All Holds].[FILERENTRYNBR] Is Null的条件
  6. 运行查询完成精准匹配更新

方法2:直接使用SQL语句

打开查询的SQL视图,替换为以下语句:

UPDATE [All Holds] 
INNER JOIN [Current] 
ON ([All Holds].[SHPMT ID] = [Current].[SHPMT ID]) 
AND ([All Holds].[PORT ARVL CD] = [Current].[PORT ARVL CD])
SET [All Holds].[FILERENTRYNBR] = [Current].[FILERENTRYNBR]
WHERE [All Holds].[FILERENTRYNBR] IS NULL;

注意事项

如果目标表All Holds中的PORT ARVL CD字段为空,需先从源表Current同步该字段的值,再执行上述更新。可通过相同的关联逻辑先更新PORT ARVL CD,确保每行都有唯一匹配的标识。

内容的提问来源于stack exchange,提问作者Johnny O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 14:15:40