• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS 更新 ADO Filter Do Until)

ACCESS 更新 ADO Filter Do Until

このQ&Aのポイント
  • ACCESSのフォームに作成したコマンドボタンを実行するとTABLE1からTABLE2へID番号を元に値を更新するようなプログラムを作りましたが、うまく動きません。
  • ID番号を元にTABLE1からTABLE2への値の更新を行うACCESSのプログラムが正常に動作しない問題があります。
  • 作成したACCESSのプログラムでコマンドボタンを実行すると、TABLE1からTABLE2へID番号を元に値を更新する際に問題が発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

ANO2ですが、 "UPDATE TABLE1 LEFT JOIN TABLE2 ON TABLE1.ID = TABLE2.ID SET TABLE2.NAME = [TABLE1]![NAME], TABLE2.[PRICE] = [TABLE1]![NAME];" ↓ "UPDATE TABLE1 LEFT JOIN TABLE2 ON TABLE1.ID = TABLE2.ID SET TABLE2.NAME = [TABLE1]![NAME], TABLE2.[PRICE] = [TABLE1]![PRICE];" でした。

その他の回答 (2)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

更新クエリを使えるのがアクセスの特徴ですが、そのSQL文をそのままVBAで実行させることもできます。 Dim CN As New ADODB.Connection Set CN = CurrentProject.Connection CN.EXECUTE "UPDATE TABLE1 LEFT JOIN TABLE2 ON TABLE1.ID = TABLE2.ID SET TABLE2.NAME = [TABLE1]![NAME], TABLE2.[PRICE] = [TABLE1]![NAME];" CN.CLOSE SET CN = NOTHING LEFT JOINなのか、INNER JOIN なのかは、与えられている情報からは判断できませんが、idに重複がなければどちらでもよいのかなと思います。

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

Recordset を使わなくても 更新クエリでご希望のことはできると思いますが。 > TABLE1からTABLE2へID番号を元に値を更新するようなプログラムを > 作りましたが、うまく動きません。 うまく動かなくてどうなるかを書くようにしましょうね。 Do Until rsB.EOF rsB!名前 = rsA!名前 rsB!価格 = rsA!価格 rsB.Update rsB.MoveNext  '<--- 追加 Loop

関連するQ&A