![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000超入門部屋--アクションクエリ | ||
[アクションクエリとは] [追加クエリ] [テーブル作成クエリ] [更新クエリ] [削除クエリ] [マクロで自動実行 1 2 3 ] |
「削除クエリ」は簡単。テーブルの中から指定したレコード(あるいは全件)削除するためのクエリです。
やってみましょう。
ええと、じゃ、まず・・・。
「追加分のテーブル」って作りましたよね。
多分、5件くらいデータが入ってると思うんですけど・・・。
ここからレコードの削除をやってみましょう。
思いっきりべたなんですけど・・・。
普通にクエリを作って、フィールドリストから「*」(全部のフィールド)を選んで、「削除クエリ」に変更します。
「削除クエリ」の場合、「1レコード全部削除」します。
あるレコードの中の、あるフィールドだけ削除する、なんてことはしません。
っていうか、それって「削除」じゃないですよね。
ただ単にデータをからにしてるだけだ・・・。
んだから、削除クエリの場合は、「フィールド」欄にフィールド名を選んだりはしないのです。する必要なし。
レコード全部削除するからね。
だから、下の状態だと、「追加分のテーブルの中のレコードすべてを削除する」っていう意味になります。
要するにテーブルの中を空っぽにしたいときは、こうするのです。
で、このクエリを、後で繰り返し使うかも・・・というときは、名前を付けて保存しておきます。
下の図の、ピンクのツールボタンのトコですね。
まあ、なんか適当な名前を付けて保存しておいてください。何事も練習です。
んでもって、緑色のビックリマークボタンが、アクションクエリを実行するときの「実行」ボタンになります。
これをクリックすると・・・。こんなメッセージが出てきました。↓
削除しちゃうよ、元に戻せないよ、いいですか?
っていうメッセージですね。
このメッセージに応答したあと、レコードは削除されます。
「はい」のボタンをクリックしましょうか。と、別になんも変わってないみたいですけど・・・。
じゃ、「追加分のテーブル」を見てみましょうか。クエリを閉じて、「追加分のテーブル」をダブルクリックして開いてみてください。
ね?
からっぽになったでしょう?
もし、「結果のフィールドにチェックがついてるレコードだけ削除したい」とかいう具合に、特定のレコードだけ削除するなら・・・。
「抽出条件」欄をうまく使いましょう。
ふつうの選択クエリと、使い方はおんなじです。
ためしに、「練習のテーブル」の方でやってみましょうか。
まずはふつうの選択クエリの状態で、「結果」がTrueのものだけ、という抽出条件を作ってみましょう。
と、いちおう、データシートビューに切り替えて・・・。
どうやら、チェックがついてるものだけ削除の対象にできそうですね。
で、デザインのほうにもどって、削除クエリに切り替えると・・・。
ちょっと雰囲気変わりますね。
これでオッケー。実行してみましょう。
実行するには???「ビックリマークのボタン」でしたよね。
と、こんなメッセージが出てきて・・・。
「はい」のボタンをクリックすると、削除されるのです。
このアクションクエリは、例えばうっかり間違って連続して実行してしまったとしても、その場合、既に該当のレコードは削除されちゃってる後でしょうから、2重3重にレコードがどんどん消えていってしまう〜というわけのわかんない状態にはならないです。ただ、ほんとに削除します。物理的に削除します。
元に戻せません。
なので、抽出条件を設定して特定のレコードだけ削除するときは、まず選択クエリの状態で繰り返しテストをして、間違って別のレコードを削除してしまわないように十分注意を払ってください。
テストのしすぎってことはないですから、ほんとにしつこいくらい繰り返しいろいろテストしてから、削除クエリに切り替えるようにしましょうね。
![]() |
![]() |
![]() |