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



■テーブル作成クエリ

「テーブル作成クエリ」とはそのものずばり、テーブルを作成するクエリです。
こいつはわかりやすいと思いますので、ひととおりやってみましょう。

イメージはこんな感じです。↓
「練習のテーブル」の「結果」フィールドにチェックがついているレコードだけを取り出して、新しいテーブルを作ります。
そのとき、必要なフィールドだけ書き出すこともできますし、全フィールド書き出すことも可能です。

で、ココで見失ってはならないのが、「テーブルを作る」のではなくて、「テーブルを作るクエリ」を作る、ってことですね。




ええと・・・今、私の「練習のテーブル」の中身はこんな感じになってます。

結構レコード入ってます。んでもって、「結果」のフィールドにいくつかチェックつけてます。
みなさんのテーブルの中身はどうですか?
チェックがぜんぜんついてないと、うまく行ってるんだかなんなんだかわかんないので、何レコードかチェックつけといてくださいね。

では、このテーブルから、新しいテーブルを作成するクエリを作りましょう。




んでは、まずは普通にクエリを作り始めます。
「練習のテーブル」を元にして・・・。

抽出条件のところだけチェックしちゃいましょうかね。
YES/NO型のフィールドで、チェックマークがついている状態のことを、
True(またはYes、-1)

と表現します。Trueと書くことが多いかな・・・。

反対の、チェックがついてない状態を
False(またはNo、0)

と表現します。
左のように抽出条件を書き込んでみましょう。


結果は・・・。
チェックがついてるレコードだけ、拾い出せそうですよね。

確認できたらデザインビューに戻って・・・フィールドふたつじゃさみしいんで、後ひとつふたつフィールドを選んで追加してやってください。そうですね・・・「売上」でも追加しましょうか。
わたしは3つのフィールドを書き出すようにしてみます。


ココまで確認してから、「テーブル作成クエリ」に変更します。

変更の仕方は・・・。
ツールバーの「クエリ」のツールボタンか、メニューバーの「クエリ」なんですが、多分最初は「テーブル作成クエリ」って姿が見えないんじゃないかと思います。
しばらくメニューを出しっぱなしにしておくと、普段隠れているメニューも出てきますよ。



ね、出てきたでしょう。
中から「テーブル作成(k)」っていうのを選びます。


すると、なんかダイアログが出てきます。


新しく作成するテーブルの名前を決めてください、といってるわけですね。
なんか名前付けてください。
既に存在してるテーブル名でもいいですけど、そのテーブル削除しちゃいますから、このデータベース内でまだ使ってないクエリ名をつけてください。
え?意味がわかんない???
んじゃー左の図と同じにしてください。後で考えましょう。




これでこのクエリは完成です。

黄色のボタンは、実行した結果どんなイメージになるかデータシートビューで確認するだけのとき。
緑色のボタンが、このクエリを実行して実際にテーブルを作成します。

このクエリ、繰り返し使う可能性があるなら、赤いボタンをクリックして、名前を付けて保存しておきます。

んじゃ、Q_テーブル作成クエリとでも名前を付けて保存してとっておきましょうかね。

そしたら、緑色のマル印をしたボタンをクリックして、クエリを実行します。

まずメッセージが出ます。
「はい」のボタンをクリックしましょう。

なんか・・・その後何も出ないですよね・・・。シーンとしてます。あっけないもんです。


ほんとにテーブルはできてるんでしょうか・・・。あ、ある!

おお・・・作られてますよ。テーブル。
みなさんはどうですか?
ない?そんなことないでしょ。
なんて名前にしたか、忘れちゃっただけじゃないですか???
あるでしょ???
よく探してくださいよう。


ね、あるでしょう???

・・・ありゃ、「結果」がもろ-1ってなっちゃってますけど(笑)
こりゃ表示の仕方ですからね・・・。
レポートとかフォーム作るとき、チェックボックスにしてやればなんとかなるでしょう。
とりあえず間違いじゃないですからね。-1のことなんです。
YES/NO型のフィールドで、チェックがついてるっていう状態が。



このクエリ、名前を付けて残しておいたとして、立て続けにがんがん実行したとしたら、どうなるんでしょう。
じゃあ・・・例えば、「練習のテーブル」を開いて、「結果」のフィールド、違うレコードにチェック付けておいたとしますよね。


んで、テーブルの方は閉じて・・・。
再びさっきの「テーブルを作成するクエリ」を実行しちゃったとします。
ダブルクリックしてもいいし、左上の「開く」をクリックしてもオッケー。
どっちも「このクエリを実行する」っていう動作になります。


まず、こういう確認の画面が出て・・・。


おおっ!?こんなメッセージが出ましたよ。
テーブルを新しく作成するクエリなので、同じ名前のテーブルが既に存在している場合は、そいつを削除して上書きしちゃうよ、ってことですね。
「はい」の方をクリックしましょう。


んで、やっと↓このメッセージが出ました。
ふうー。同姓同名のテーブルが存在している場合は、全部で3つメッセージが出ることになりそうですね。


と、テーブル自体はありますけど・・・。
中身はどうなっているんでしょう。


・・・前に書き出したレコードはなくなってますよね。

テーブルは一度削除され、そして新しく作成されたわけですから・・・。

その辺が「追加クエリ」と違うとこですね。



基のテーブルからも、レコードが消えるわけではありませんよね。レコードが移動したわけではないんです。