<HOME <お願い事項 <Access2002 TOP <Access2000 TOP <サイト内検索 | ||
MS-Access97超入門>アクションクエリ |
準備 更新クエリ 追加クエリ テーブル作成クエリ 削除クエリ |
さて、更新クエリーで、だいたいアクションクエリーのイメージをつかむことができたのではないかなーと思います。
後はですね、やることが違うだけで、考え方は同じですんで、ささっとやっつけてしまいましょう。
お次はどれいきましょうか。「追加クエリー」にしようかな。
これは、Aのテーブルの中のレコードを、Bのテーブルに追加するという動作をします。 うーん、用途としては・・たとえば売上明細テーブルから今月の売上のレコードを累積テーブルに移すときとか・・・ そういう感じの使われ方が多いですかね。 |
と、いうことは、追加先のテーブルがいっこいるわけですな。
どうしましょうか・・今は最初に作った練習用のテーブルがいっこあるだけなんですけど・・・。
コピーしたりして作ってもいいんですけど、まあ練習ということで、こんな感じのテーブルいっこ作ってみて下さい。
で、このテーブルにレコードを追加するとしましょう。
追加元と追加先のテーブルは、必ずしも同じレイアウトでなくてもよいです。
フィールド名も揃ってなくてもいいんですが、なるべく揃えた方が、手間が省けていろいろ便利なので、フィールド名は揃えた方が無難ですね。
では追加クエリーを作ります。
慣れるまでちょっとややこしいので、どっちが追加元でどっちが追加先のテーブルか、確認しながら作業してみて下さい。
まず、ふつうにクエリーを新規作成します。基にするのは最初に作った練習用のテーブルの方です。追加元のテーブルですね。
1.フィールドをグリッドに選びます。
追加先のテーブルに追加したいなーと思うフィールドだけ選びます。追加する必要のないフィールドは、別に選ばなくてもいいです。
逆に、追加先のテーブルに当てはまらないフィールドをここで選んでも、追加先がないので意味ないですね。
まあ今日は練習ですから、とりあえず適当に・・・。4つ選びますか。
2.クエリーを追加クエリーにします。
で、さっきいじった「クエリーの種類を変更するツールボタン」を操作して、追加クエリーに変更します。
すると頼んでもいないのに何やらダイアログが出てきて、追加先のテーブル名を指定しなさいと言ってきます。
仕方ないので、一覧からテーブルを選びます。
後から作った追加先のテーブルを指定しましょう。
と、クエリーのデザインの方には、「レコードの追加」という欄が出てきますよね。
今指定した追加先のテーブルの、どのフィールドに追加をするのか、紐付けがなされるわけです。
フィールド名を同じにしておくと、こうやって自動的に結びついてくれますが、[番号]と[コード]とか、名称が異なる場合は、「レコードの追加」欄をクリックして、追加先のフィールドをいっこいっこ手作業で指定してあげます。
「レコードの追加」欄が空白の場合は、なんも追加されませんので、必ずしかるべきフィールド名の指定があるかどうか、確認しましょう。
イメージはこうなりますね。
このクエリーを実行すると、追加先のさっき作ったテーブルの方に、レコードが書き出されて追加されます。
なんかメッセージでますよね。[はい]の方をクリックすると、実行完了です。
じゃ、このクエリーにもなんか名前を付けて保存しておきましょうか。せっかく作ったんだし。名前は何でもいいです。
わかれば。
名前がついたら、クエリーのウィンドウを閉じて一段落です。
さて、それでは追加先のテーブルの方を開いて確認してみて下さい。
レコード、追加されてますか?
このクエリーも繰り返し繰り返し実行すると、がんがんおんなじレコードを追加先テーブルに追加しちゃいますので、取り扱い要注意です。
余談ですけれど、オートナンバー型のフィールドってありますよね。
これ、便利は便利なんですけど、番号の付け方はAccessまかせです。
われわれが入力や変更することのできないフィールドなんですね。
基本的に、1レコードずつ入力したときに、自動的に番号が付くタイプのフィールド型で、私たちが直接入力することはないです。
追加クエリーをつかって追加する、追加元のテーブルには、オートナンバー型のフィールドは作らない方がよいかもしれないですね。
何番のレコードが入ってくるか、もしかしたらダブっちゃうかもしれませんし。。。
その辺はケースバイケースだと思いますんで、よく検討してテーブル設計を行ってください。