【问题标题】:Update value in table 1 based on value in table 2 in MS Access 2010根据 MS Access 2010 中表 2 中的值更新表 1 中的值
【发布时间】:2017-02-28 23:13:09
【问题描述】:

我有两张桌子。第一个是 LOA 报告,第二个是 ACCT。 我需要做的是用 ACCT 中的值更新 LOA 中的值。我需要将来自 LOA 中单独列的用户给定输入与 ACCT 中的字段进行比较,以确定从中提取数据的正确记录。以下是我到目前为止所拥有的。任何帮助将非常感激。我在这方面工作太久了,当我不知所措时,我很难承认。我有这个工作作为附加查询。但我想做的是更新而不是追加。 UPDATE 语法是我遇到问题的地方。

INSERT INTO [LOA Report] (ID)
SELECT Acct.AcctID
FROM Acct INNER JOIN [LOA report] ON Acct.EmpID = [LOA Report].[Emp ID]
WHERE ((([Acct]![EmpID])=[LOA report]![Emp ID]));

【问题讨论】:

  • 您应该始终运行您的操作查询,首先是“选择”查询,以确保它们过滤了正确的表字段 - 然后将它们更改为更新、追加、删除等。
  • 感谢您的提示。

标签: sql ms-access sql-update


【解决方案1】:

在 Access 中,UPDATE 查询将如下所示:

UPDATE [LOA Report]
INNER JOIN Acct ON Acct.EmpID = [LOA Report].[Emp ID]
SET [LOA Report].ID = Acct.AcctID
WHERE ((([Acct]![EmpID])=[LOA report]![Emp ID]));

【讨论】:

  • 完美运行。非常感谢。
【解决方案2】:

您是否尝试过使用更新连接?

update res 
set
res.[colname]=acct.[colname]
from [LOAreport] res JOIN acct ON Acct.EmpID = res.[EmpID] and res.colname=acct.colname

【讨论】:

  • MS Access 使用UPDATE ... INNER JOIN 语法。必须指定特定的JOIN
猜你喜欢
  • 2011-10-25
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
相关资源
最近更新 更多