Access关联Excel表执行追加查询时重复记录仅插入一条问题咨询
问题根因
你遇到的完全重复记录仅能插入1条的问题,是SQL语句中的GROUP BY子句直接导致的。GROUP BY的作用就是将所有指定字段取值完全一致的多条记录合并为单条记录,你的代码里GROUP BY后列出的刚好是参与查询的6个字段,所以只要这6个字段值完全相同的记录,在SELECT查询阶段就已经被合并为1行,最终插入目标表的自然只有1条。
解决方案
根据业务需求选择对应调整方案即可:
- 若需要完整插入Excel表的所有记录,包括完全重复的行:直接删除整条
GROUP BY子句,修改后的SQL如下:
INSERT INTO [Receiving Entry India] ( Invoice_No, Pallet_No, PONO, ITEMNO, Part_No, Qty ) SELECT [E-Packing list].VENDORINV, [E-Packing list].CONTAINERNo, [E-Packing list].PONO, [E-Packing list].ITEMNO, [E-Packing list].PartNo, [E-Packing list].QTYREC FROM [E-Packing list];
- 若你最初添加
GROUP BY就是为了过滤完全重复的记录,仅插入不重复的行:当前代码的运行结果符合预期,不需要调整。
内容的提问来源于stack exchange,提问作者Tbure90
相关产品推荐
相关产品推荐

