よろしくおねがいします。
仕訳伝票のテーブル [仕訳伝票]、[仕訳明細]に
仕訳IDで 前者が1、後者がN のリレーション設定しています。
[仕訳伝票]に仕訳日のフィールドがあります。
仕訳日が削除日以前のデータを削除するのに次のようにしました。
1 DoCmd.RunSQL ("delete FROM 仕訳明細 where 仕訳日<=[削除日] INNER JOIN 仕訳伝票 ON 仕訳伝票.仕訳ID = 仕訳明細.仕訳ID ;")
2 DoCmd.RunSQL ("delete from 仕訳伝票 where 仕訳日<=[削除日] ;")
2 はうまくいきそうなのですが
1 が「 '実行時エラー 3075' クエリー式…の構文エラー演算式がありません」となります。
No.1
- 回答日時:
delete FROM 仕訳明細 LEFT JOIN 仕訳伝票 ON 仕訳伝票.仕訳ID = 仕訳明細.仕訳ID where 仕訳伝票.仕訳日<=[削除日]
でいかがでしょう?
この回答への補足
ご回答ありがとうございます。
「 '実行時エラー 3128' 削除するレコードを含んだテーブルを指定してください」となりました。
ACCESS2007を使用しています。
今一度よろしくお願いします。
No.2ベストアンサー
- 回答日時:
間違っていたようで失礼いたしました。
以下 念のためバックアップ等をしてから試してください。
仕訳明細の主キーをIDとします。
delete from 仕訳明細 where ID IN (select 仕訳明細.ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.仕訳ID = 仕訳伝票.仕訳ID WHERE 仕訳伝票.仕訳日 <=[削除日])
これでいかがでしょうか?
この回答への補足
たびたび恐縮です
仕訳明細の主キーは明細IDです。
DoCmd.RunSQL ("delete from 仕訳明細 where 明細ID IN (select 仕訳明細.明細ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.仕訳ID = 仕訳伝票.仕訳ID WHERE 仕訳伝票.仕訳日 <=[削除日]) ;")
としましたが、次のようなパラメータの入力ウィンドが空打ちで次々に表示されます。
・仕訳明細.仕訳ID
・仕訳伝票.仕訳ID
※ 同じ目的で「質問番号:5525157」を立ち上げました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- 財務・会計・経理 この仕訳おかしいでしょうか? 3 2023/01/15 13:08
- 政治 サッカーではゴミ拾いが得意なくせに、なんでゴミ議員ばかりに投票してるのでしょうか? 3 2022/11/29 01:51
- 財務・会計・経理 発生主義の仕訳 1月末決算 1月未払金を1月に入れ込み、 広告宣伝50万/未払金50万 と計上しまし 2 2023/03/11 09:45
- Excel(エクセル) フォルダ内の複数ブックを同シート名毎に連結させたい 1 2022/04/07 21:24
- 財務・会計・経理 仕訳を教えてください 2 2023/05/28 13:42
- 財務・会計・経理 パソコンの減価償却の質問になります (2022年1月31日決算) 2022年11月30日にパソコンを 2 2023/04/05 19:57
- 財務・会計・経理 法人成りしたときの、売掛買掛の仕訳を教えてください。 法人成り後の売掛金が個人の時の通帳に入金された 1 2022/12/01 17:36
- 公認会計士・税理士 地代家賃と前払費用の決算整理仕訳 1 2023/02/25 08:14
- Visual Basic(VBA) vba 「インデックス有効範囲ではありません。」のメッセージの対処方法を教えてください。 3 2022/08/16 20:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報