- ベストアンサー
ACCESS2007でレコードの条件付き削除
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
前回のつづきです delete from 仕訳明細 where 明細ID IN (select 仕訳明細.明細ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.仕訳ID = 仕訳伝票.仕訳ID WHERE 仕訳伝票.仕訳日 <=[削除日]) リレーションしているのが 仕訳IDではく伝票IDなのですね^^; delete from 仕訳明細 where 明細ID IN (select 仕訳明細.明細ID from 仕訳明細 LEFT OUTER JOIN 仕訳伝票 ON 仕訳明細.伝票ID = 仕訳伝票.伝票ID WHERE 仕訳伝票.仕訳日 <=[削除日]) いかがでしょうか?
その他の回答 (1)
- minosennin
- ベストアンサー率71% (1366/1910)
回答No.2
ACCESS初心者ですが、横から失礼します。 画像では、クエリの種類が「選択クエリ」のようです。 クエリツールの画面で、上部にあるクエリの種類を「選択」から「削除」に変更すればよいのではと思いますが・・。 見当ちがいでしたらパスしてください。
質問者
補足
ご回答ありがとうございます。 削除クエリがあるのですね レコードの削除行:where 規定値のまま 抽出条件:[forms]![メニュー]![削除日] としましたが この後どのように処理しますか DoCmd.RunSQL ("delete FROM 仕訳明細クエリ;") では 「 実行時エラー'3128' 削除するレコードを含んだテーブルを指定してください 」 (クエリはダメなようです) asteroid-b様のお陰で無事解決しましたが、こちらの方も知っておきたいです。 ご無理なさらない範囲で答えていただければと思います。
お礼
解決しました ありがとうございます。 ご指摘のようにフィールド名が誤っていました。 余分なご面倒を掛けてしまいすみません。 しかし複雑な構文ですね 他へ流用する時はここまで戻ることになります。