トップ > Access2007目次 > 練習2:売上集計データベース (5)
1)2)3)4)5)

練習2:売上集計データベース (5)

 

1使ってみよう

メニューフォームを使って、通してデータ取り込み処理をやってみましょう。
操作中まず、「TEMP売上集計」テーブルのレコードを全部削除する削除クエリを実行します。
メッセージの設定を”いいえ”にしているので、確認メッセージは出ず、一見、何も起きていないような感じです。

削除クエリは、「TEMP売上集計」テーブルを全件削除するクエリなので、誤って何度も実行してしまっても(このコマンドボタンをクリックしてしまっても)問題ないです。
0件のテーブルのレコードを削除しようとしているだけですもんね。
図1:うっかり何度もクリックしちゃっても、0レコード削除されるだけだからね

 

操作中次に、左上の「保存済みのインポート操作」をクリックします。
図2:左上のこれだ

 

操作中インポートするファイルの名前を書き換えます。
ええと、次は、1月9日分?違ったかな?
図3:インポートするファイルの名前を変える

 

操作中書き換え終わったら、実行しましょう。
図4:ファイル名、間違えるでないぞ

 

操作中あれ、待てよ、今取り込んだファイル、もしかして今日もうインポートしたっけか?
と、思ったら、重複チェックをします。
図5:念には念を入れるのが、Accessの流儀だ

 

操作中おっ、いい感じでメッセージが出ました。まだこのファイルは取り込んでなかったですね。よっしゃ。
OKボタンをクリックして、次のステップに進みましょう。
図6:サンキュー

 

操作中追加クエリを実行しましょう。
図7:追加クエリを実行して、完了だ

 

操作中一連の処理が終わったら、「売上集計テーブル」の中身を確認しましょう。

インポートするテキストファイルは、1カ月分くらい用意してありますので、繰り返し試してみてください。
図8:できたー

 

「自動化」とは言えないかもしれませんが、毎日1回、実行する処理としては結構使い勝手のいいものになったのではないかな・・・と思います。 特別なことをしなくても、Accessの基本機能だけでも、工夫次第で手間を軽減することができるんです。
もっといろいろな機能や、Visual Basic for Applicationsによるプログラミング技術を習得することで、より使い勝手のいい仕組みを作ることは可能・・・かもしれません。何をもって「使い勝手のいい」とするかにもよりますけど・・・。でも、どんな場合でも、いきなりVBAでプログラミングを始めるなんてことはありません。まず本質的なデータの流れや作業の手順を考えてから、ですよね。
世間では、「VBAで作っていない=レベルが低い」などと決め付けて見下したがる輩が多いですが、それはちょっと、ピントのずれたものの見方じゃないかなぁと思うんです。VBAで作ってあってもイマイチなデータベースはたくさんありますよ。すっごい高度なプログラミング技法を盛り込んでるのに棚卸しができない在庫管理データベースとか、たまに見ますんで・・・残念・・・。
目的と手段を取り違えてるってことですよね。
もし、あなたが、心のどこかで、「VBAを覚えないとバカにされる」なんて思っているとしたら、そういうことじゃないんで、ちょっと考え直してみてください。

2クエリを作ってみよう

ここからは、本筋から少し離れます。
せっかく「売上集計テーブル」にデータを入れたのだし、売上集計なんて名前のテーブルにしちゃってる手前、実際に、商品の売上状況を調べるクエリを作ってみようじゃないか、というわけです。
クエリを制するものはデータベースを制します。クエリの例をいくつか挙げますので、皆さんも是非挑戦してみてください。
(1)本日までの、商品別の売上総数を、売上数の多い順に並べて表示するクエリを作る。
図9:クエリデザインはこんな感じ
図9-a:実行結果はこんな感じ。
(2)メーカーごとの売上総数の合計を、多い順に並べる
図9:クエリのデザインはこんな感じ
図9-a:実行結果はこんな感じ

 

(3)販売価格を元に、売上見込金額を計算し、売上日ごとに集計
図9:仮の列名「売上見込」を作って、掛け算するのだ
  売上見込:売上総数*販売価格
※フィールド名以外は全て半角記号。必ず半角で入力すること。半角のカギカッコは自動的に付くので入力の必要は無い。
図9-a:結果はこうなる。「売上見込」という列名になっているところに注目。
(4)今のところまだ一度も注文がない商品だけリストアップする
図9:デザインはこうなる
「商品マスター」主体の結合方法に変更し、「商品マスター」側にだけある「商品コード」を表示する。一度も注文の無い商品は、「売上集計テーブル」側の「商品コード」が存在しないことになるので、抽出条件をNull(値なし)にすればよい。
図9-a:結果はこんな感じです。
(5)今までの売上総数が5個を下回る(未満の)商品だけ出力するクエリ
図9:デザインはこんな感じ。結果は以下のとおりです。
このコーナーで作成したデータベースの、サンプルです。 zip形式で保存してあります。
よかったらダウンロードして参考にしてください。

  folder step1_ren2.zip
※解凍後: 売上集計.accdb (540Kb Access2007のみ使用可)

このページのまとめなど

  • Accessの達人になるには、クエリをいろいろ作ってみるのが早道。使う使わないじゃなくて、Accessっぽい脳になる。
  • データベースを作ったら、繰り返し何度も使ってみよう。例外を想定したテストデータ作って、業務の流れを見極めよう。
作成日:2009-01-14
コピーライト