Please visit our sponsors.
スポンサーも訪れて下さい

<
★MSアクセスウエッブカレッジサンプル(ダウンロードする)|業務統合4in1小さな会社用『感嘆!』  
▲▲MSアクセスマクロ講座 第5回▲▲
・・クエリーは素晴らしい:クエリーを使いこなさなければアクセスを使う意味がない2・・
  今回は、前回テーマを引き続き紹介します。前回までの重複する内容は、省略します。今回もクエリーについて紹介しますが、クエリーの基本機能を前回のまま確認します。

クエリーは、アクセス利用の基本になるものです。初心者が使うクエリー、上級者が使うクエリーと幅広い遣い方があります。

クエリーを選択、並び替え、検索などに利用するだけでは初心者、条件付、複数条件付

複数計算式などを持つデータ処理にクエリーが使えれば上級者ではないかと思います。

さてあなたは、クエリーをどう使っていますか?

  1. アクセスではデータはテーブルに蓄積されますが、クエリーはこのテーブルの選択、加工編集、計算、等を行うツールと考えていいと思います。
  2. データを指定条件で選択します
  3. データの項目の計算をします
  4. データの項目をつなげたり編集できます
  5. データを削除できます
  6. データを分類します。
  7. データの特定項目の更新ができます
  8. データをグループ単位とか特定の集計ができます
  9. データを日付によるグループ集計ができます
  10. その他、クエリーとクエリーを組み合わせて処理することもできます
  11. さらにフォームと絡ませて複雑な処理を行うことができます。
  12. クエリーを使うことによって、多くのデータを一気に処理することができます

以上のほかにもいろいろ利点があります。同じ処理をマクロで行うこともできますが、

非常に多くのマクロを使わなくてはならず、処理時間も大量に使われます。

今回の紹介は、ほんお一部のクエリーの機能です。

  • 売上管理システムで研究
  • 前回で、テーブルの作成から、クエリー、フォーム、マクロの作成をしました。

やさしかったですか?物足りませんか?あなたには、もっと先の話をしたいですね。

実は、まだ難しいという人が多いんです。つながった形で体系的にに説明できないので、

お許しください。少しでも実践的な部分を紹介したいと思っていますので。

初歩から学びたい方は、お手数ですが、後述する「アクセス超初心者講座」の受講をおすすめします。

  • 前回のポイント
  • クエリーで計算、編集する場合、計算結果、または編集後のものを、さらに処理することはできない。ということです。

クエリーでやる場合の、一つの制約条件になります。マクロ、VBA等で処理する場合、連続処理は当たり前のことですが、クエリーでは、そうはいかないこともあることを知りましょう。

1 テーブルにA,B,Cという数値項目がある場合、

 1 B=A*10

 2 C=A−B

をクエリーで処理する場合、1の計算を処理するクエリーを作成し、

次に、2の計算をするクエリーを作成します。この2つのクエリーを順番実行することでCの値を得ることができるのです。1つのクエリーでいけそうですがいかないのです。

一つのクエリーでいく方法をご発見した方は、メールください。

私が紹介しているものは、私がシステム構築の中で実際に使用してきたものばかりですが、だからといって、その方法が、唯一かというと、そんなことはないと思います。私の紹介するものは、一つの提案にすぎないと考えています。え!今日はやけに、弱気じゃないか、なにかあったのか、なんて、なんにもありません。
ただ、私の言うことは、完全ではないということを、承知していてほしいからです。やっぱり弱気か。

言いたいことわかりますよね、苦労人の皆様には。

だから、よい方法が見つかれば、教えてもらって、それをまたみなさんに紹介するようなものになれば、最高かなて思ったものですから。

  • クエリーのクエリーもあります。
  • 通常は、テーブルを基にクエリーを作成することが多いと思いますが、クエリーを基に、クエリーを作成することもできます。あらかじめ、選択するクエリーを作成しておいて、それをベースに計算クエリーを作ることもできます。
  • とにかく、クエリーはアイデア次第かもしれません。
  • マクロのポイント

マクロ1とマクロ2で、テーブルを基に計算するマクロを作りました。マクロを実行すると、「データを変更します。」等のメッセージがうるさく表示されますね。

この表示を、なくす方法を話します。

マクロの最初に、アクションの「エコー、表示しない設定で」を追加。次に、アクションの「メッセージの設定、いいえで設定」を追加します。この2行を追加すれば、実行途中のメッセージは表示されなく、処理が中断されなくてすみます。

実務面では、非常に貴重なアクションです。

  • ●今回は売上集計マクロ1と2を紹介します。
  • マクロに使われるクエリーをまず作成しましょう。

1 売上集計クエリー1:これは売上日別に集計するクエリーです

実務の中では、集計業務が無数にあります。日付、得意先、担当者、部門、グループ、分類毎、これらが複雑にからみあって、管理資料が作られます。多くの人は、この集計をエクセルでこなしてきています。

ここでは、アクセスでやる方法を学びます。

この売上集計1のクエリーは、売上テーブルを基に作成されます。テーブルを選択して、項目を一ずつ、設定していきます。

  1. 売上年月日フィールドの設定

売上年月日を選択します。そして、そのまま、右クリックして、プルダウンメニュの「集計」を選択すると、上記のように「グループ」が表示されます。

この場合は、売上年月日毎に集計、つまり売上日報のようなものを作るので、このままでOK。

  • 「グループ」の意味:このクエリーでもっとも大きなポイントはこの「グループ」ということです。集計する固まりをグループと呼びます。
  • 担当者毎なら、担当者の欄をグループに設定すれば言い訳です。
  • 部門の中の班別に集計したい場合:グループ集計は、左の項目から階層別になります。
  • 部門の中の班の集計も取りたいときは、まず部門でグループにして、次に班でグループにすればOKです。
  • グループの際の注意事項は、グループ名が完全一致するものをグループとして扱います。
  • 第一部と第 一部は別処理になります。データ入力時に注意が必要:システム設計上は

このような検索選択週計条件になる項目は、入力でなく、コンボリスト選択、リスト選択にするほうが安全です。

  1. 原価金額フィールド:原価金額を選択します。集計欄がグループになっていますから、リストから、「合計」を選択します。
  2. 同じように他の項目を設定します。

これで、売上年月日毎に集計するクエリーができました。

2 売上集計マクロ2

マクロでは、上記集計クエリーを実行してその結果を、売上フォームに表示する手順

を実行します。

マクロ自体は非常に小さいものです。ポイントはクエリーです。

結果は下記の通りとなります。

商品コードが#mame?ですが、無視しておきましょう。

売上年月日毎に集計表示されていますね。これを、特定の月だけ表示させるには、どうすればよいでしょう。やってみてください。

  • サンプルプログラムでは、さらに商品毎の集計をとる売上集計クエリー2を作成します。
  • 商品コードをグループにしています。

マクロ2にこの実行を設定します。

実行結果は、下記のとおりです。

日付は無視しておきましょう。商品コード毎の金額が集計されました。

このように、クエリーはいっきに処理をします、数千件のデータでも時間はそうかかりません。クエリーはまだまだおくが深いので、これから何回もテーマになることでしょう。

エクセルでは、表枠をセルと呼びこのセルに、計算他式を設定できますが、アクセスでは、クエリーを使って、その結果を、同一表または別の表に表示することになります。エクセルでは行の設定でそのセルに式を入れるので、形の固定した表になります。

アクセスでは、表の行数はデータの数により増減するので、セルという概念はありません。アクセスでエクセルのような、セル感覚の表処理(厳密には単票)もできますが、あまり意味がないことが多いでしょう。

エクセルでは行の縦横の中で設定が行われますが、アクセスでは、縦横の制約はなく、配置された場所に、他の複数の項目をからませた、式を設定できます。

  • エクセルと競争しているわけではなく、アクセスを理解していただくために比較してみています。かなり無理やり比較している向きもありますが。それぞれ特徴があり、用途があると思います。
  • エクセル嫌いじゃありませんよ。また。

・・マクロ研究会にもどる