2017-02-28 14 views
0

2つのテーブルがあります。 1番目はLOAレポートで、2番目はACCTです。 私がする必要があるのは、LOAの値をACCTの値で更新することです。私はLOAの別の列からの入力を与えられたユーザーとACCTのフィールドを比較して、データを取り出すための適切なレコードを判断する必要があります。以下は私がこれまで持っていたものです。どんな助けでも大歓迎です。私はこれについてずっとずっと長い間働いていて、私が頭の中にいる時を認めて悪いです。私はこれを追加クエリとして動作させています。しかし、私がしたいのは、更新して追加しないことです。 UPDATE構文はどこに問題があるのですか?MS Access 2010の表2の値に基づいてテーブル1の値を更新します。

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])); 
+0

彼らは正しいテーブルのフィールドをフィルタリングしていることを保証するために、最初のクエリを「選択」として、あなたは常に、あなたの行動のクエリを実行する必要があります - そして、更新、追加、削除などに変更してください。 – tahwos

+0

チップのおかげで。 – dan

答えて

-1

更新結合を試しましたか? Accessで

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

MS Accessは 'UPDATE ... INNER JOIN'構文を使用します。特定の 'JOIN'を指定する必要があります。 – Parfait

0

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])); 
+0

ありがとうございます。今すぐテスト。 – dan

+0

完璧に作業しました。ありがとう、トン。 – dan

関連する問題