現在、選択クエリを表示するサブフォームがあります。サブフォームに表示されているテーブル B のすべてのレコードをフォームの情報で更新したいと考えています。サブフォームは不要です。選択クエリが正しく表示されていることを確認するために使用していました。
テーブル A には 3 つの列 (OID、Project_Number、Landowner)
があります。テーブル B には 4 つの列 (OID、PhoneNum、Address、Year) があります。
これらのテーブルには、1 対多の関係があります。表 A の 1 つの OID は、表 B の多くの OID に関連しています
Table A
1 A10 Bill
2 B10 Sally
3 A10 Bill
Table B
1 555 123 blah st 2012
1 2013
2 111 456 aaa st 2012
3 2012
このフォームを使用すると、ユーザーはテーブル B に入力する情報を入力できます。サブフォームには、Project_Number、Landowner、および Year がフォームに表示されているレコードと等しいレコードのリストが表示されます。
For example. If the form is showing
1 A10 Bill
the subform is showing
1 A10 Bill 2012
3 A10 Bill 2012
保存コマンド ボタンをクリックすると、更新クエリを実行したいのですが、SQL コマンドに問題があります。
私の選択クエリは次のとおりです。
SELECT B.Project_Number, A.LANDOWNER, B.Year
FROM A INNER JOIN B ON A.OBJECTID = A.OBJECTID;
サブフォームはセットアップ
Link Child Fields: Project_Number; です。年; Landowner
Link マスター フィールド: B.Project_Number; 年; A.地主
をお願いします:
UPDATE B.PhoneNum, B.Address, B.Year
WHERE items found in my subform
WITH information from my form
サブフォームを忘れて、単一の更新クエリですべてを実行する方が簡単ですか?
UPDATE B SET B.phonenum = [New_Info]![PhoneNumCtrl], B.Address = [New_Info]![AddressCtrl]
WHERE [A]![Landowner] = The same landowner as the OID selected, [A]![Project_Number] = The same project number as the OID selected, [New_Info]![Year] = [B]![Year]
助けてくれてありがとう!
すべてが機能しています。私はdjphaticの答えに追加したかった.
これを行うときは、必ず [Forms]![formname]![controlname] を追加してください。