• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSテーブルのデータの一部を削除)

ACCESSテーブルのデータの一部を削除

このQ&Aのポイント
  • ACCESSテーブルのデータの一部を削除する方法について
  • 仕訳伝票と仕訳明細のテーブルでリレーションを設定し、仕訳日が削除日以前のデータを削除する方法について
  • DoCmd.RunSQLの実行時エラーとその対処方法

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

  • ベストアンサー
回答No.2

間違っていたようで失礼いたしました。 以下 念のためバックアップ等をしてから試してください。 仕訳明細の主キーをIDとします。 delete from 仕訳明細 where ID IN (select 仕訳明細.ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.仕訳ID = 仕訳伝票.仕訳ID WHERE 仕訳伝票.仕訳日 <=[削除日]) これでいかがでしょうか?

shinkami
質問者

補足

たびたび恐縮です 仕訳明細の主キーは明細IDです。 DoCmd.RunSQL ("delete from 仕訳明細 where 明細ID IN (select 仕訳明細.明細ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.仕訳ID = 仕訳伝票.仕訳ID WHERE 仕訳伝票.仕訳日 <=[削除日]) ;") としましたが、次のようなパラメータの入力ウィンドが空打ちで次々に表示されます。 ・仕訳明細.仕訳ID ・仕訳伝票.仕訳ID ※ 同じ目的で「質問番号:5525157」を立ち上げました。

その他の回答 (1)

回答No.1

delete FROM 仕訳明細 LEFT JOIN 仕訳伝票 ON 仕訳伝票.仕訳ID = 仕訳明細.仕訳ID where 仕訳伝票.仕訳日<=[削除日] でいかがでしょう?

shinkami
質問者

補足

ご回答ありがとうございます。 「 '実行時エラー 3128' 削除するレコードを含んだテーブルを指定してください」となりました。 ACCESS2007を使用しています。 今一度よろしくお願いします。

関連するQ&A