首页 > 解决方案 > 如何在 MS Access 2007 中更新表

问题描述

我正在尝试从临时表中更新 MS Access 2007 中的表中的记录。临时表从外部工具获取新数据。新数据(2 列)应该进入持久表。

我尝试了以下 2 个查询,但是当我查看查询的数据表视图时,它们都显示空记录。(顺便说一句,有没有更好的方法来调试访问中的 SQL?)第二个查询还显示了与table1中一样多的行,而不是仅显示外部工具编辑的行数。(在这两种情况下,每一行的结果都是空的)

至少有正确数量的记录的版本:

UPDATE (table1 INNER JOIN table2 ON table1.key = table2.key)
SET table1.value1 = table2.value1, table1.datevalue = table2.datevalue
WHERE ((table1.value1) IS NULL);

与 table1 中的记录一样多的记录的版本:

UPDATE table1
SET table1.value1 = (SELECT value1
FROM table2
WHERE ((table1.value1 IS NULL)
AND (table1.key = table2.key))),
table1.datevalue = (SELECT datevalue
FROM table2
WHERE ((table1.key = table2.key)
AND (table1.value1 IS NULL)))

在我的测试中,该工具操作了 1 条记录,因此我希望看到一行作为查询的输出,其中value1datevalue来自table2,但输出显示value1datevalue具有空条目(1 或(table1中的记录数量))。

标签: sqlms-access

解决方案


show empty records when I look at the Datasheet view of the Query

如果您在表格模式下打开更新查询,您将只能看到单元格的当前值。您应该运行(执行)您的查询以更新值。无法检查更新查询的预览(正如我所理解的那样)。


推荐阅读