<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 Access97データベース工作室>在庫のザの字はどう書くの〜♪
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20



【在庫状況】

さて、以上で在庫の引き算の部分の仕組みは終了です。
いかがでしょう。テーブルさえきちんと整備されていればそんなにややっこしくなく作り込めますよね。
何が難しいって、やっぱしテーブルしっかり作るってところだと思いますよ。
うまいテーブル作りへの道は、やっぱ場数。
机上の論理だけではどうにもならんところです。

では次に、在庫数が少なくなってきたときのことを少し考えてみましょうか。
当然どんどん在庫は減り、足りなくなるものもありそうですよね。
ゼロになってから補充したのでは多分間に合わないでしょう。
そこで、「補充しどき」を判断する何かを考えないとイケマセンね。相手はコンピュータですからね。
「そろそろ少ないかも」なんて判断はしてくんないですよ。みなさんがしっかりしないと。

そこで、[商品マスター]の中に[必要数]というフィールドを作りました。みなさんのもありますよね。Q_現在庫にも選んでると思いますんで、開いてみてください。選んでらっしゃらない方は、Q_現在庫と商品マスターを両方開いて見比べてみてください。

[必要数]フィールドに入力されてる数を[現在庫]が下回ったら、そろそろ補充のしどき、ということにしようかなと思います。商品によっても違いますよね。そりゃピーナッツとゲッターライガーは、単価も違うし、ストックしておきたい数も違うでしょう。こんな風にマスターに個々に値を持つよう作っておくとよいと思います。

んで、こんな感じのクエリーを作ります。

名前は・・・Q_在庫状況一覧表とでもしますかね。

まあ、必要かなぁと思われるフィールドをいくつか選んで(この辺は後で追加してもいいんで、とりあえず商品番号とメーカーコードくらいは押さえておいて、後は適当に)、右端のグリッドに直接式を書きます。

[現在庫]-[必要数]

式1っていうのがいやだったら、なんか適当に書き換えてくださいね。
Q_現在庫で既に使ってるフィールド名はダブっちゃうからだめですよ。それ以外の名前。その辺はもうみなさんオッケーかな。

で、データシートビューに切り替えてみると?????

計算、できてますよね。いっしょに[現在庫]と[必要数]を並べて選ぶと、わかりやすいと思います。

ついでに[注文数](これは、出庫テーブルの注文数の合計でしたよね)も並べておくと、すっごく注文を受けて在庫が少なくなってるのか、あんまり注文受けてないのか、その辺わかっていいかもしれません。

この引き算の差が大きければ大きいほど、いそいで補充が必要な商品ということになるかな・・・
という場合は、昇順の設定をしておくとよいでしょう。

引き算の答えがマイナスでなければ、在庫はまだ十分にあるということなので、とりあえず表示しなくていいや、ということなら、抽出条件欄に<0と入力しましょう。

この辺はいろいろお試しになってみてください。

で、このクエリーを基に、補充してほしい数量などを一覧表示できるフォームを作ります。こんな感じかな・・・。

フォーム名は・・・在庫状況一覧表とでもしましょうか。
デザインはお任せしますが、こんな感じのフォームにお役立ちの書式を一つご紹介しましょう。

「補充して〜」というフィールド、これはクエリーの中で引き算して出してる値ですよね。これのテキストボックスの書式プロパティに

#,##0;-#,##0[Red];0

こういうのはMS-Excelも同じなんで、この書き方はご存知の方も多いかもしれないですね。
ただ、色の指定をするところは、[赤]ではなくて[Red]と書きます。詳しくは書式のヘルプをご参照あれ。


で、一覧を見て、ああ、在庫が少ない商品がいくつかあるな・・ということを確認して、それでメーカーさんに電話をして発注・・ということなら、ここまででオッケーだと思います。
ここからがご相談なんですけども、発注して、っていう処理も作りたい・・という方、いらっしゃいます?

ちゃんとした発注仕入れの仕組みとなると、いろいろ現状調査しないといけないとおもうんですけど、なんかチョットした動作作ってみようかな・・と思います。まあ、なんかのお役に立つかもしれないですよね。

ここでもう一度思い起こしていただきたいのが、テーブルとクエリーの違いです。
クエリーは基本的にテーブルの中のデータを加工して表示するための論理的なもの。

もちろん計算式を作ったりすることはできますが、基のクエリーにないフィールドを作って、そこにわたしたちがなんか値を書き込むとか、そういうことはちょっとできないんですよね。

Q_現在庫クエリーに、注文数を入力したいんですけど、どうしましょう。できないですよねぇどう考えても。
それに、根本的にこのクエリー、入力とか更新とかできないクエリーでしたよね。


こういうときどうするか・・・。
思い切って注文用のテーブルを別に作って、そこに「注文したい商品と注文数」を格納するようにしましょうか。

まあ、適当に右のようなテーブルを作ってみてください。
とりあえず[商品番号]と[メーカー]と[注文数]と[注文日]くらいは最低でも設けてくださいね。
後はまあ、あったらいいかな、みたいなフィールドです。でもよかったらおんなじような感じで作ってみてください。

テーブル名は・・・[注文テーブル]にしますかね。

で、さっきの在庫状況一覧表の右の方に、[注文]みたいなちっちゃいボタンを作ります。
表形式のフォームだとちょっとうっとおしい感じもしますけども・・・・。まあいいってことよ。

で、こういう表形式のフォームで、例えば5行目にある超電磁ヨーヨーを100個注文したいなーというとき、この5番目のボタンをクリックしたらそういう画面が出てきて数値を入力できる・・・みたいな感じにしようと思うんですね。

ちょっとテスト・・・・。5行目くらいの[注文]ボタンをクリックしてみてください。ちょっと他のボタンと違って、なんかフチが濃くなりますよね。
で、このフォーム開いたまんまの、このまんまの状態で、クエリーを新規作成します。

Q_在庫状況一覧を基に、こんな感じのクエリーを作ります。

フォームで選んでるレコードの[商品番号]・・・
つまり、今さっきクリックしてフチが濃くなってるボタンの行を認識するかどうか、テストです。

出ます?
何回かテストしてみてくださいね。こういうの、タイミングとか状況によって微妙なんで、必ずテストしましょう。

ちゃんと出ます?。ちょっとみみっちいテストですけど・・・。