[三流君] −−> [VBAで楽しく] −−> [バックナンバー一覧]
−−> No.136 Access テーブル追加クエリーを使用してみた

Access テーブル追加クエリーを使用してみた

メルマガ発行内容

<Access テーブル追加クエリーを使用してみた>

こんにちは、三流プログラマーのKen3です。 前回、 テーブル作成クエリーを使用して、 既存のデータからテーブルを作成してみました。 今回は、クエリーの検索結果を別テーブルへ追加する、 追加クエリーを使用してみたいと思います。 今回の、サンプルファイルは、 http://www.ken3.org/vba/lzh/vba136.lzh にdb135.mdb(Access2000版)が保存されています。 ※クエリーやデータをいじって、遊んでみてください。

/* * 1. 今回のキッカケ */

No.135 Access テーブル作成クエリーを使用してみた http://www.ken3.org/backno/backno_vba28.html#135 で、 郵便番号別のテーブルを作成しました。 今回は、集計を行い、ある条件(10以下のデータ) を別のテーブルのデータに追加してみたいと思います。

/* * 2.処理の仕様 */

処理の流れ、仕様は下記のような感じです。 作成方法・方針の詳細は、 No.133 仕様変更が来たら?落胆しないで前向きに? http://www.ken3.org/backno/backno_vba27.html#133 上記を参照してください。 YUBIN_DATA5テーブルに対して、集計をかけます。 変換後郵便番号 70009 19400 22000 22000 ここから、 変換後郵便番号 変換後郵便番号のカウント 00108 27 06137 27 10100 5 10106 4 と、集計します。 ここで、カウント数によって2つの分かれ道、 10以上は、そのままExcelへデータセットに使います。 10回以下は、頭3桁の番号とカウント数を、YUBIN_DATA3テーブルへ追加します。 集計結果の、 10100 5 10106 4 を YUBIN_DATA3 に追加します ~~~~~~~~~~~ 郵便番号 数 001 1 (※1もともとセットされているデータ) 061 1 ( 〃 ) 101 1 ( 〃 ) 101 5 (YUBIN_DATA5の集計クエリーから10100集計5のデータ) 101 4 (YUBIN_DATA5の集計クエリーから10106集計4のデータ) ※郵便番号101数5 と 郵便番号101数4のデータが追加される なんて処理を、追加クエリーを使用して、作成してみます。

/* * 3.追加クエリーの作成方法 */

まぁ、追加クエリーなんて、カッコよく言っているけど、 手順としては、まず、追加するデータをセレクト・選択しないとね。 (選択された、ある条件のデーターを追加、そんなパターンなので) 普通に集計クエリーを作成します ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ YUBIN_DATA5テーブルに対して、 変換後郵便番号をグループ化してカウントします。 変換後郵便番号 変換後郵便番号のカウント 10800 2 11200 19 11300 13 ↑グループ化して、カウントしたクエリー 追加したいデータは、10以下のデータなので、条件<10を追加する。 それと、3桁のデータにして追加したいので、 YUBIN3桁:Left([変換後郵便番号])と式を追加して1つフィールドを作成します。 ※ポイントは、集計項目でLeftなど計算しているところを演算にします ↑グループ化して、カウント、条件10以下、左から3桁の項目(演算)作成 変換後郵便番号 変換後郵便番号のカウント YUBIN3桁 10500 1 105 10700 5 107 10755 9 107 10800 2 108 こんな感じで表示が出来たら、 このデータを YUBIN_DATA3テーブルに追加します ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ まず、クエリーの種類を通常の選択から、追加に変更します。 メニューのクエリーから追加を選択します。 ↑メニューからクエリーの追加を選択する すると、どのテーブルに追加するのか? って感じで、聞いてくるので(ダイアログが表示されるので) カレントデータベースのYUBIN_DATA3を選択します。 ↑追加先テーブルを選択したイメージ 次に、追加する項目を選択します。 ※フィールドを対応付けます。 変換後郵便番号 変換後郵便番号のカウント YUBIN3桁 10500 1 105 10700 5 107 を DATA_YUBIN3テーブル の 郵便番号フィールドにはYUBIN3桁, 数フィールドには変換後郵便番号のカウント を追加するために、 レコードの追加の項目で、追加先のフィールドを選択します。 ↑追加先フィールドを選択したイメージ これで、実行すると、集計して10以下のデータを追加することができます。

/* * 4.カウントから集計へ */

同様に、YUBIN_DATA3を集計して、10以下のデータをYUBIN_DATA2へ追加します。 ポイントは、 ^^^^^^^^^^^^ いままで、郵便番号でグループ化、郵便番号のカウント(数を数える) で、集計していたのですが、 YUBIN_DATA3 テーブルの構造は(作りは) ~~~~~~~~~~~ 郵便番号 数 001 1 (※1もともとセットされているデータ) 061 1 ( 〃 ) 101 1 ( 〃 ) 101 5 (YUBIN_DATA5の集計クエリーから10100集計5のデータ) 101 4 (YUBIN_DATA5の集計クエリーから10106集計4のデータ) ※郵便番号101数5 と 郵便番号101数4のデータが追加されている なので、 郵便番号はグループ化、フィールド[数]は合計としてグループ化します。 (※101は、1+5+4で10と合計を計算させる) ↑合計を計算するクエリー ~~~~~~~~~~~~~~~~~~~~~~~~ あとは、同様に、<10以下、頭2桁の項目を作成して、 YUBIN2_DATAに追加します。 (YUBIN2桁: Left([郵便番号],2)と演算フィールドを作成) ↑追加クエリーにして、YUBIN_DATA2の項目へ10以下のデータを追加 -【けんぞう!】--------------------------------------------------------- 転職関係、在宅プログラマー、SOHOの広告まとめました http://www.ken3.org/etc/500yen/zaitaku.html いろいろとあるので転機の人はぜひ 登録料無料、匿名で探せるので在宅でアルバイト、副業の人も見てね ------------------------------------------------------------------------ 

/* * 4.終わりの挨拶 */

今回は、 追加クエリーを使用して、 他のテーブルにデータを追加してみました。 ポイントは、 ^^^^^^^^^^^^ 普通に表示用のクエリーを作成する。 クエリーのモードを追加に変更、追加するテーブル名とフィールドを選択。 そんな感じの流れで作成可能です。 あとは、このテーブルから、ExcelへデータをセットすればOKですね。 今回の、サンプルファイルは、 http://www.ken3.org/vba/lzh/vba136.lzh にdb136.mdb(Access2000版)が保存されています。 ※クエリーやデータをいじって、遊んでみてください。 う〜ん、まだまだだなぁ・・・ 何かの参考となれば幸いです。 Excel/Access大好き、三流プログラマーKen3でした。

フィードバック

VBA系の→[掲示板]←を覗く、質問を書き込む

評価・感想

No.136を読んだ満足度(評価)は?
5満足(参考になった)
4まぁまぁ(一部参考になった)
3普通(どちらとも言えない)
2なんかなぁ(期待と違った)
1不満(読んで損した気分)
作者に感想・質問を送る場合は下記に気軽に書いてください
あなたのお名前(ニックネーム) さん

作者からの返信は、 不用 E-mail で受信したい
*質問・感想はメルマガで紹介する場合があります

ページフッター(リンクや広告など)


[三流君(TOP ken3.org へ戻る)]
-- [VBA系TOPへ]
---- [VBA系バックナンバー目次へ移動]
------ [VBAでIEを操作 CreateObject("InternetExplorer.application")]・・・実は当店一番人気、VBAでIEを操作するサンプルです
------ [VBAでOutlookの操作 CreateObject("Outlook.Application")]・・・Outlookを使い、メール関係の処理です
------ [Access から Excel 連携 CreateObject("Excel.Application")]・・・人気のAccessからExcelへデータ書き出しなどです
------ [AccessのUserForm/サブフォームを操作]・・・アクセスでフォームを使ったサンプルです
------ [Accessのレポートを操作]・・・レポートを操作してみました
------ [Access クエリー関係やその他関数]・・・あまりまとまってませんが、スポット的な単体関数の解説です
------ [Excel UserForm(ユーザーフォーム)を操作する]・・・エクセルでユーザーフォームを作成して入力などを行ってます
------ [ExcelからAccessを操作する]・・・ExcelからAccessのマクロを起動してみました、
------ [Excel関係 関数、その他]・・・その他Excel関係です
------ [VBAでテキストファイル(*.txt,*.html,*.csv)の操作]・・・テキストファイルを使ったサンプルです
------ [VBA 標準関数関係とその他解説]・・・その他、グダグタ解説してます


広告
-- [通販系の売れ筋広告へ] ←主に楽天やAmazonのランキングです
blog
-- [三流君の作業日記] ← 日々の作業を少々
-- [通販あしあと] ← 通販ページの足跡を一覧で羅列

情報を探す

情報を探すならGoogleかな?

↓Web全体、サポート情報(support.microsoft.com)や三流君VBA(ken3.org)から検索する
Google
Web www.ken3.org
www.microsoft.com support.microsoft.com

あとは、項目別にMSでお勉強かな?
◆ マイクロソフト サイトの歩き方
◇ How-To インデックス
◇ FAQ インデックス
◇ スキルレベル別おすすめコンテンツ
◇ テクノロジ マップ
◇ テーマ別技術資料一覧

書籍の購入

Webだけじゃさすがに勉強しきれないので、プログラミング関係の書籍も読んでみては??

コンピュータ書籍の発送がハヤイ専門店

コンピュータの本・専門店
種類が豊富で探し易いです。※在庫ありが48時間以内発送が急ぎで資料や書籍がほしい時、とても助かります。
お奨め本の目次を見るだけでも勉強になったり

amazon.co.jpでキーワード別チェック

下記、私が設定したキーワードですが、こんな感じで資料や書籍を探ってみては?
[VBA全体を把握する] -- やはり全体をさらっと見たいですよね。
[SQL関連でDB力UP] -- システムはデータベース設計が重要
[ADO接続を探る] -- VBAなのでADO接続を押さえておく
[Windows APIを探る] -- さらにAPIになて知ってれば強力だ!
[.NETを探る] -- と言っても時代は.NETに流れてるし
プログラミング以外でも知りたいことは多くって、
[人間関係] -- で、客先・上司、まわりに気を使い。
[プログラマーの自己啓発] -- プログラムだけじゃなくいろいろと向上したいよ
[コーチング・育成] -- 先輩になったら後輩(部下)の面倒をみてね。
そんなこんなでプログラマーっていろいろと大変なんだってば・・・