【问题标题】:Access Update Query Showing Popup访问显示弹出窗口的更新查询
【发布时间】:2020-09-03 14:07:53
【问题描述】:

我有两个表 T_S_Table_1 和 Temp。

T_S_Table_1 有一个字段 XX_Country(值和键)。此字段是短文本。 临时有一个字段更新这也是短文本。

我无法运行更新查询将该字段中的所有值更新到 Temp 表中。

我在 MSAccess 设计视图中使用查询设计。 我使用的值更新为[T_S_Table_1]![XX_Country (Value & Key)]

当我点击运行时,它会弹出一个“输入参数值”。 这是它生成的sql语句。

UPDATE Temp SET Temp.[Update] = [T_S_Table_1]![XX_Country (Value & Key)];

关于为什么会发生这种情况的任何帮助?

【问题讨论】:

  • Temp 是否已经有记录并且您正在尝试更新特定字段?查询应该如何知道要使用哪些源值更新哪些记录?表必须有关系并在查询中加入。也许您真的需要一个 INSERT SELECT 操作。但是为什么要将所有记录复制到另一个表中呢?强烈建议不要在命名约定中使用空格或标点符号/特殊字符。
  • Temp 是一个只有一列的空表。我试图在插入之前将左函数添加到查询中,但是此更新查询无法继续前进。它只有一个字段,这是我为测试目的而创建的。不幸的是,命名约定随文件一起提供,我无法控制。这在表名没有任何空格或特殊字符时有效,有什么解决方法吗?
  • 我在没有空格和特殊字符的情况下进行了测试,但仍然失败。

标签: ms-access ms-access-2010


【解决方案1】:

删除弹出窗口的语法:
UPDATE Temp, T_S_Table_1 SET [Update] = [XX_Country (Value & Key)];
但是,结果不会令人满意。

UPDATE 是错误的操作。使用 INSERT INTO SELECT 就可以了。

INSERT INTO Temp([Update]) SELECT [XX_Country (Value & Key)] FROM T_S_Table_1

如果需要先从 Temp 中删除记录:

DELETE FROM Temp

【讨论】:

  • 非常感谢 - 我应该使用追加而不是更新。第二种解决方案有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多