<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--アクションクエリ
 [アクションクエリとは] [追加クエリ] [テーブル作成クエリ] [更新クエリ] [削除クエリ]  [マクロで自動実行 1 2 3 ] 



■削除クエリ

「削除クエリ」は簡単。テーブルの中から指定したレコード(あるいは全件)削除するためのクエリです。
やってみましょう。

ええと、じゃ、まず・・・。
「追加分のテーブル」って作りましたよね。
多分、5件くらいデータが入ってると思うんですけど・・・。

ここからレコードの削除をやってみましょう。


思いっきりべたなんですけど・・・。
普通にクエリを作って、フィールドリストから「*」(全部のフィールド)を選んで、「削除クエリ」に変更します。

「削除クエリ」の場合、「1レコード全部削除」します。
あるレコードの中の、あるフィールドだけ削除する、なんてことはしません。
っていうか、それって「削除」じゃないですよね。
ただ単にデータをからにしてるだけだ・・・。

んだから、削除クエリの場合は、「フィールド」欄にフィールド名を選んだりはしないのです。する必要なし。
レコード全部削除するからね。



だから、下の状態だと、「追加分のテーブルの中のレコードすべてを削除する」っていう意味になります。

要するにテーブルの中を空っぽにしたいときは、こうするのです。



で、このクエリを、後で繰り返し使うかも・・・というときは、名前を付けて保存しておきます。
下の図の、ピンクのツールボタンのトコですね。

まあ、なんか適当な名前を付けて保存しておいてください。何事も練習です。

んでもって、緑色のビックリマークボタンが、アクションクエリを実行するときの「実行」ボタンになります。
これをクリックすると・・・。こんなメッセージが出てきました。↓
削除しちゃうよ、元に戻せないよ、いいですか?
っていうメッセージですね。

このメッセージに応答したあと、レコードは削除されます。

「はい」のボタンをクリックしましょうか。と、別になんも変わってないみたいですけど・・・。
じゃ、「追加分のテーブル」を見てみましょうか。クエリを閉じて、「追加分のテーブル」をダブルクリックして開いてみてください。

ね?
からっぽになったでしょう?




もし、「結果のフィールドにチェックがついてるレコードだけ削除したい」とかいう具合に、特定のレコードだけ削除するなら・・・。
「抽出条件」欄をうまく使いましょう。
ふつうの選択クエリと、使い方はおんなじです。

ためしに、「練習のテーブル」の方でやってみましょうか。
まずはふつうの選択クエリの状態で、「結果」がTrueのものだけ、という抽出条件を作ってみましょう。



と、いちおう、データシートビューに切り替えて・・・。
どうやら、チェックがついてるものだけ削除の対象にできそうですね。


で、デザインのほうにもどって、削除クエリに切り替えると・・・。
ちょっと雰囲気変わりますね。
これでオッケー。実行してみましょう。

実行するには???「ビックリマークのボタン」でしたよね。



と、こんなメッセージが出てきて・・・。

「はい」のボタンをクリックすると、削除されるのです。




このアクションクエリは、例えばうっかり間違って連続して実行してしまったとしても、その場合、既に該当のレコードは削除されちゃってる後でしょうから、2重3重にレコードがどんどん消えていってしまう〜というわけのわかんない状態にはならないです。ただ、ほんとに削除します。物理的に削除します。
元に戻せません。
なので、抽出条件を設定して特定のレコードだけ削除するときは、まず選択クエリの状態で繰り返しテストをして、間違って別のレコードを削除してしまわないように十分注意を払ってください。
テストのしすぎってことはないですから、ほんとにしつこいくらい繰り返しいろいろテストしてから、削除クエリに切り替えるようにしましょうね。