質問: accessで他クエリーを利用して削除する acess97で、他のクエリー(選択クエリー)の結果を利用 して、削除クエリーを作りますと、「更新可能なクエリー でなければなりません」というエラーが出ます。 具体的に言いますと、 テーブルaで「あ」というフィードで集計し1行 しかない行を削除したいのです。 私がtryした方法は、「あ」というフィールドで テーブルaを集計し行数をカウントする選択クエリーを 作成し、別の削除クエリーでそれを参照しようと しました。 そうしましたら、前述のエラーが発生しました。 削除クエリーの中で行を集計するようなものが作れれば 要件は満たされるのですけど。。。
回答: どのクエリーが削除できて、どのクエリーが削除できないのかを書こうとすると、結構問題がややこしくなってしまうので、割愛します。 削除クエリーで削除できるかどうかは、そのクエリーをデータシートビューで表示した時に、レコードを削除できるかどうかによります。 もし、データシートビューで削除できないのなら、クエリーを工夫してやる必要がありますね。 例えば、こんな感じ。(テーブル名などを変更してから、クエリーをsqlビューにして、貼り付けてください) delete * from テーブルa where あ in (select あ from テーブルa group by あ having count(あ) =1); 詳しくは、ヘルプで「サブクエリ」をお調べください。