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



漕げよマイケル データベース作成 2_1

マイケル、今日もがんばってます。
毎日たくさんのお客さんが来ます。
明日の仕入れをシッカリ把握するためにも、売上データはこまめに入力しておきたい。
でも、お店は忙しい・・・。

そこでマイケルは、もっと入力を手っ取り早くできるよう、入力フォームの工夫をすることにしました。
まず、商品名と、お客様の種類については、入力するのではなく、一覧から選ぶような仕組みに変えようと思います。


商品名については、今お店で取り扱っている商品がすべてですから、「一覧から選ぶ」という仕組みはすぐに作れそうです。

お客様の種類は、要するにマイケルが後でデータ分析に使いたいがための項目なので(どういうタイプのお客様の来店が多いのか)、正確な数値と言うよりは大まかな分類わけができていればOK。どちらかと言うと、あんまり細かい分類になっても意味がなくなっちゃうと思うんで、大まかに「シマリスかアカリスか野ねずみかエゾリスか、その他か」と、「4種類+その他」くらいに分けられればいいかなと思ってます。

そこで、売上データ入力に関係する情報をまとめて、簡単な図を書いてみると・・・上のような図になりました。
いくつかの情報のかたまりができましたね。

「漕げよマイケル」でもお話をしてまいりましたが、情報がいくつかに分かれた場合、それらがどういうつながりを見せるか・・・情報間の「関係」が非常に重要になってきます。いわゆるリレーションってやつですね。
基本的に、「一対多」という関係が成り立つもんだ、ということ、なんですけども、いきなり「一対多」なんて言葉を出してしまうと、なんかもう完成したみたいな気分になりがちなので、ここはもっと平たく平たく低姿勢で考えていくようにしましょう。



まず・・・。「一覧から商品名とお客様の種類を選ぶ」というところだけ、考えてみましょう。
これは、フォームのデザインをチョコット変えれば実現します。
フォーム内のコントロールの種類の中に「コンボボックス」「リストボックス」というのがあるので、テキストボックスをこういうやつに変えちゃえばいいわけです。これは簡単ですよね。
じゃ、書き換えてみようかな。
(mcl_donguri.mdbをご覧になってる場合は、F11キーを押せば「データベースウィンドウ」が開いて出てきます)

売上入力のためのフォームの、[お客様の種類]というテキストボックスを、ショートカットメニューでちょいちょいとコンボボックスに変えちゃいましょう。コンボボックスやリストボックスというのは非常に便利なもんで、コレの中にちょっとした「テーブルっぽい感じで情報のかたまり」を持つことができるんですよね。

リストボックスはちょっとスペースを取りますけれど、コンボボックスは普段は折りたたまれているので、テキストボックスからちょいと変えるならコンボボックスの方が手っ取り早いんじゃないかと思います。



で、このコンボのプロパティなんですが・・・。
「データ」というプロパティの中の、「値集合タイプ」「値集合ソース」のふたつのプロパティを調整します。

「値集合ソース」欄に、並べたい値を半角のセミコロンで区切って

シマリス;アカリス;野ねずみ;エゾリス;その他


と、入力すればOK。
これで、ちょっとした「情報のかたまり」を作ることができます。


じゃあ、同じような感じで、商品名の方もコンボボックスに変えてみましょうかね。



両方とも、「あらかじめ用意しておいた一覧から選ぶ」という方法で、入力することができるようになりました。

こうなったら、「性別」も簡単に選択できるようにしちゃおうかな・・・。
男性、女性の2パターンですよね。性別の場合・・・「その他」ってのもありなのかな。
ま、まあいいか・・・とりあえず今回は、男性、女性のどちらかを選択する仕組みを考えてみます。
コンボボックスでもできますよね。
でも、2パターンだからなぁ。プルダウンメニューにするまでもないような気がするんですけど・・・。
じゃあ、「オプショングループ」っていうのを作ってみましょうか。

オプショングループは、テキストボックスからワンタッチで変更することはできないので、いったんテキストボックスを削除しましょう。
クリックして選択して、Deleteキーを押しちゃいます。

ツールボックスの「オプショングループ」というボタンをクリックして、フォーム内をドラッグしてフレームを作ります。
大きさや位置は、他のコントロールともども調節してください。

次に、「オプションボタン」ボタンをクリックして、フレームの中をクリックします。
フレームの中にカーソルを移動させるとフレームが黒くなるので、黒くなったことを確認してから、クリックします。

同じ要領でもうひとつオプションボタンを作り、ラベルを書き換えて位置を整えましょう。
フレームの方のラベルも書き換えて、ラベルの大きさやフレームの大きさなども調整します。

次に、フレームの「コントロールソース」プロパティに、「性別」を指定します。

オプションボタンには「オプション値」というプロパティがあります。
多分、順番に作ったのならば、最初に作ったほうのオプションボタンが 1、 2番目に作ったオプションボタンが 2 になっているはずなので、確認しておきます。

これで、

   左のオプションボタンをクリックしたときは、テーブルの「性別」フィールドに 1 
   右のオプションボタンをクリックしたときは、テーブルの「性別」フィールドに 2


という数字が入ります。

「男」「女」という漢字が入るわけじゃないので、今までの入力分とあわなくなっちゃうんですけども・・・。
区別が付けばいいかなと思うんで、これから入力するデータは、コレでいこうと思います。



さらにもう一工夫・・・。

マウスで、コンボボックスから「商品名」を選んだ後、カーソルが 「数量」 のところに移動してると、入力に都合がよさそうな気がするんですよね。やり方はいろいろあるんですけど、コンボボックスの「更新後処理」で、「コントロールの移動」というマクロアクションを実行するのが手っ取り早いんじゃないかなと思うんです。

こんな感じですね。マクロを作ってもいいですよ。

いかがでしょう。
MS-Accessのコントロールの基本的な仕組みや、フォーム内でのイベントなどについていろいろ知っておけば、要所要所で役に立ちますよね。
この他にも、他のコーナーでお話してきた機能が使えるかもしれませんので、いろいろと工夫をなさってみてください。