<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>アクションクエリ
 準備 更新クエリ 追加クエリ テーブル作成クエリ 削除クエリ



■削除クエリ

さーて。トリをつとめますのはレコードを削除するという「削除クエリー」。
特定の条件を満たしたレコードだけ削除したり、テーブルの中のレコードをぜーんぶ削除したり。。。
基本的にテーブル内のレコードを削除する場合は、こいつを作って実行します。
作り方は多分一番カンタンですけど、一番危険なクエリーなんで、実行は慎重に・・・。

例えば、練習用のテーブルを基に、こんなクエリーを作ったとします。
Date関数という関数を使って、今日の日付より前のレコードだけ選んでみました。
全レコード消すのであれば、もちろんこんな抽出条件はいっさいいりませんけど、まあ練習なのでいろいろやってみましょう。

で、これを削除クエリーにします。クエリーの種類を変更しましょう。

このクエリーを実行すると、今日の日付より前のレコードだけ削除することになります。

消えちゃいましたねー。テーブル開いて確認してみてください。
別に変ってないぞ、という方は、そらきっと「今日より前の日付」のレコードがなかったんでしょう。

もし、テーブルの中のレコード全部を削除する場合は、抽出条件を何も指定せず、「全フィールド」を選びます。

フィールド名の一覧の中に、テーブル名+*という表記のものが表示されます。

これは「とりあえずフィールド全部」という意味ですんで、これを選びます。

この状態でクエリーを実行すると、全レコード削除されるというわけです。

この状態でこのクエリー、保存しときましょうか。
テーブルの中のレコード全部削除したいときは、このクエリー実行すればよいですよね。

あーあ。全部削除されちゃったー。からっぽ。。。。
ほんとに消しちゃいますので、用心して実行して下さいね。


で、またこのテーブルに何か値を追加・・・あれれ?

オートナンバー型の番号のフィールド、変な番号から始まるぞ・・・。

そうそう。オートナンバーって、こういうことなんですよ。順番にナンバリングしているのとはちょっと違うんですね。
レコード削除しても、このテーブルの中で最後に使った番号に1足した数が、必ず使われていきます。
まあ、1千万レコードや2千万レコード分は軽く番号付けられますから、あんまり気にしなくてもいいんですけど・・・。
必ずしも思ったような番号が付くわけじゃないんで、細かい処理には向かないかもしれないですね。


さて、アクションクエリーの作り方、いかがでしたでしょう。
基本的にふつうの「選択クエリー」の仕組みさえ理解していれば、そんなに難しくもめんどくさくもないと思います。
これらがいつ、どんな時に必要になるのか、は、こうご期待。いろいろなところで活躍しますよ。