<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002 なりきりデータベース設計
  1 2 3 4 5



漕げよマイケル 1

とある街に、マイケルという名のリスが住んでいます。
定職に就かない甲斐性ナシも良くないなぁと思い、どんぐり屋を始めることにしました。
毎日山に行って木の実を拾ってきて、そいつを売ろうという企みです。

マイケルが拾ってきて売ろうとしている木の実は、以下の4種類です。
コナラ   クヌギ  クリ  シイの実
どれも美味しい。マイケルの大好物です。きっと繁盛することでしょう。

・・・。
誰か買ってあげてください。

そんなこんなで、マイケルは心を入れ替えて、毎日コツコツと働くようになりました。
おしまい。




じゃなくて!
おかげさまでマイケルのどんぐり屋は、まあまあ繁盛しています。
毎日いろいろなお客さんが立ち寄って木の実を買っていってくれます。
徐々にお客さんが増えて、常連さんもできました。
毎日忙しくしているもんで、どの木の実がどれくらい売れているのか、あまり良くわかっていません。
「どれが一番人気?」と聞かれても、答える余裕がありません。
毎朝新鮮な木の実を拾ってこようと山に出かけるのですが、いくつくらい拾っておけば「売り切れ」にならずに済むか、わかりません。
昨日売れた数くらいは拾ってストックしておきたいんですけど・・・。
また、何日かに一度くらいの割合でめちゃくちゃお客さんが多い日があったり、大量に買っていく人(リスか)がいたりして、毎日同じくらいの数ストックしておけばいいというわけでも、なさそうな気がします。
せっかく来てくれたお客さんに売る品物が何もなくて「バカヤロー!」と怒鳴られることもあります。悲しいです。

こんな悲しいことが起こらないようにするには、どうしたらいいでしょう。
とりあえずマイケルは、毎日どれくらいの数売れているのか、売上数を把握しようと決意しました。


でも、どうしたらいいのかわかりません。
とにかく数を把握しようと思い、店先に紙とエンピツを置いて、「正」という字を書いて記録してみました。
閉店後、「正」という字の数を数えてみますと、いちおう売上総数はわかります。
でも、これだと、どの木の実がいくつ売れたのか、は、わからないです。
これだけじゃダメだ・・・。

翌日は、紙に木の実の名前を4つ書いておいて、それぞれ「正」という字を書いていくことにしました。
一度にたくさん買っていく人(リスか)もいたりして、てんやわんやでしたが、とりあえずこれで、1日の売上総数を把握することができました。
それぞれの数に、木の実の単価を掛け算すれば、売上金額が出ます。
この記録を始めて、一週間が経ちました。マイケルは改めて、記録した内容を振り返って見てみました。
金曜日の売上数が多かったみたいです。
確か、まとまった数を買っていく人(リス)が何人かいたなぁ・・・。一度にどれくらいの数を買ってってたかなぁ。
でも、営業中はテンパってたもんで、はっきりとした記憶がありません。

そこでマイケルは、もっと本格的にデータを収集することにしました。
毎日閉店後に集計した結果だけを記録するのではなくて、売上ごとに1件ずつ、「何日の何時ごろ何がいくつ売れたのか」を細かく記入しておけば、後でいろいろと分析できるかも、と思ったわけです。
一日二日記録したくらいじゃたいしたことはわかりませんが、一ヶ月二ヶ月続ければ、きっと、仕入のリズムなどもつかめてくるし、無駄なストックを最小限に食い止めたり、定期的に大量に買ってくれるお客さんに値引きサービスをしたりできるかも・・・と、いろいろな構想も浮かんできて、マイケル、いつになく「やる気」です。


ここで、今まで考えてきたことを段階を経てまとめてみましょう。
簡単な図にしてみますね。
皆さんも、紙とエンピツをご用意いただいて、似たような図を書いてマイケルの働きっぷりを思い描いてみてください。

まず最初に、一日の売上数を「正」という字を一生懸命書いて数えて記録した場合は、↓こんな感じになります。


「何日にいくつ売れたか」という情報を蓄積することによって、毎日の売上数の推移とか、週間、月間の売上数の集計などをすることができます。


どの木の実がいくつ売れたのか・・・種類ごとに集計をしたり数字を把握したい場合には、入力のときにちゃんと配慮しておかないとなりませんよね。ちゃんと種類ごとに数を書きとめておけば、種類ごとの集計もラクラクです。


ここまでの「情報の最小単位」は、「一日」です。「一日」分の情報が、1件分のデータとなるわけで。
その日その日の合計を、日々記録していくわけですので、このデータの最小単位は、「一日」。
でも、マイケルの仕事は、1日1回ドーンとやるタイプの仕事ではありませんよね。
お客さんが来て、何か買って、お帰りになる・・・これを何回も何回も繰り返して、その結果をまとめると「一日」になるわけです。
その、「お客さんが来て、何か買って、お帰りになる・・・」←これを1件分のデータとして考えたのが、次の図です。

さらにもっと細かく、「お客さんが来て、何か買って、お帰りになる・・・」←この間にわかる限りのことを入力しておけば、あとでいろいろな集計ができそうですよね。

でも、あまりいろいろなことを欲張って入力しようと思っても、なかなかうまくいかないもんです。
昼間は忙しいですからね。いちいち細かいことを書き留めておくのも大変だし、せっかく書き留めておいたところで、後で何の役にも立たなかったら意味ないし。
どういう入力が可能で、どういう結果がほしいのか・・・
「入力」と「出力」のふたつをバランスよく考えてみましょう。


上の図では「入力」「出力」などという言葉を使ってはおりますが、この段階ではできるだけ、MS-Accessの操作のことは忘れるのがコツです。
フォームのデザインとか、テーブルのデザインとか、コマンドボタンをクリックしたらこうなってああなって・・・なんて細かいことを考え始めると、大切なことを見失っちゃう可能性がありますからね。
MS-Accessはあくまでも「データの収集をして、活用するための道具」のひとつに過ぎませんのですから、まず上の図みたいなことを落書き気分で書き出してみて、MS-Accessの操作方法のことを考えるのはその次です。

実はここんとこがすごく難しいんですよ。かなりの技術が必要となります。これが、いわゆる「ドブさらい」の段階ですから・・・。
たいていの人は、あんまり考えずにMS-Access起動して、テーブルから作り始めてしまいます。
確かに作る段取りとしてはテーブルから作ることが多いですが、テーブルから考え始めてはいけませんですよ。
図面引かずに家を建てるようなもんです。

  ・どういう入力が可能で
  ・どういう出力が必要なのか

このふたつを何度も何度も考え直した結果、「蓄積されるデータ」の部分をテーブルとして作り、そのテーブルを中心に、フォームやレポートや、必要に応じてクエリやマクロなどを作っていくわけです。