首页 > 解决方案 > Microsoft Access - 如何将数据导入现有表并更新数据

问题描述

很简单,一个问题我也找不到答案。

我目前正在将 RAW 数据从 Excel 导入到我的 ACCESS 数据库。每天,我都会收到这些 RAW 数据的状态更新。

我有一个永远不会改变的字段/键,例如文档编号。但是,“状态”和“数量”等字段可以根据给定的情况而变化。

有没有办法让我将新文件导入现有数据并让它更新/覆盖与我的文档编号字段匹配的数据?

标签: sqlms-access

解决方案


在字段上创建一个唯一约束,这将是唯一的,然后您可以使用

UPDATE
MyAccessTable A
INNER JOIN MyLinkedExcelTable X
    ON A.document_number = X.document_number
SET A.f1 = X.f1

然后使用插入缺失的

INSERT INTO MyAccessTable (f1, f2, .....)
SELECT f1, f2, ....
FROM MyLinkedExcelTable X
WHERE X.document_number NOT IN (SELECT Document_number FROM MyAccessTable)

推荐阅读