Sql 根据MS Access 2010中表2中的值更新表1中的值
我有两张桌子。第一个是LOA报告,第二个是ACCT。 我需要做的是将LOA中的一个值更新为ACCT中的一个值。我需要将LOA中一个单独列中的用户给定输入与ACCT中的一个字段进行比较,以确定从中提取数据的正确记录。以下是我到目前为止的情况。任何帮助都将不胜感激。我已经在这方面工作太久了,我不善于承认当我在我的头。我将其用作追加查询。但我想做的是更新,而不是追加。更新语法是我遇到问题的地方Sql 根据MS Access 2010中表2中的值更新表1中的值,sql,ms-access,sql-update,Sql,Ms Access,Sql Update,我有两张桌子。第一个是LOA报告,第二个是ACCT。 我需要做的是将LOA中的一个值更新为ACCT中的一个值。我需要将LOA中一个单独列中的用户给定输入与ACCT中的一个字段进行比较,以确定从中提取数据的正确记录。以下是我到目前为止的情况。任何帮助都将不胜感激。我已经在这方面工作太久了,我不善于承认当我在我的头。我将其用作追加查询。但我想做的是更新,而不是追加。更新语法是我遇到问题的地方 INSERT INTO [LOA Report] (ID) SELECT Acct.AcctID FROM
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]));
你试过使用更新加入吗
update res
set
res.[colname]=acct.[colname]
from [LOAreport] res JOIN acct ON Acct.EmpID = res.[EmpID] and res.colname=acct.colname
在Access中,更新查询将如下所示:
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]));
MS Access使用
更新。。。内部联接
语法。必须指定一个特定的JOIN
。您应该始终运行操作查询,首先作为“选择”查询,以确保它们筛选正确的表字段,然后将其更改为更新、追加、删除等。感谢您的提示。工作得非常好。非常感谢。