<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



さて、じゃあ、改めて、出庫から入庫までの流れを確認してみましょう。

1)適当になんか出庫してみる。

2)どんどんいろいろ出庫してみる。

3)で、在庫の状況を見てみる。

4)足りない商品を注文する。

5)注文した商品が入荷したら、入庫数を入力....

うーん・・・ここんとこがちょっと弱いかな・・・。

何をいついくつ注文して入庫待ちなのか、多少わかった方がよさそうな感じもするんですけど、どうでしょう。
作り込んでみると結構いろいろ出てくるもんですよね。


流れを細かく見てみましょう。

この画面で[注文]ボタンをクリックすることでその商品番号が[注文テーブル]に追加されて、

以下の画面で確認して、[注文書発行]ボタンクリックすると注文したことになって右端のチェックボックスが全部オフになるわけですよね。
で、いったんオフになったものは、とりあえず通常の流れでは、次このフォーム開いたときはもう出てこない処理済のれこーどってことになるわけですよね。

で、AA0011を200個注文しててそれがまだ入庫されてないとか、そういう情報はどこで獲得すれば・・・。
そういうのも把握できるようなシステムにしたい・・・なんてこと、ありません?

とりあえずちょっと考えてみようかなと思います。


まず、今ある情報の中から「入庫の状況を知る」ためには、どうしたらいいでしょう。

今のところ、一番の鍵を握るのは[注文テーブル][入庫テーブル]かな。。。。

このふたつを、[商品番号]で結び付けたクエリーを考えてみましょうか。

今の状態じゃ[注文テーブル]にある商品が注文済みのもので、[入庫テーブル]にある商品が入庫したものってことしかわからないんで・・・。
とりあえずこれで。

この時、両方のテーブルにあるレコードだけを表示したのでは、入庫済みのレコードしか出てこなくなってしまいますよね。
それじゃ何にもならないです。

そこで、結合の仕方を「注文テーブルの全レコードと、対応する商品番号を持つ入庫テーブルのレコードだけ」にします。
このやり方はみなさんオッケーですね。


で、適当に必要そうなフィールドを選んでみて、抽出してみると・・・。
[入庫日]および[入庫数]が空っぽ(Null)のレコードが、つまりは注文したけどまだ入庫してないものってことになりそうですね。
これでも大丈夫かな・・・。

まあ、主体はあくまで[注文テーブル]ですんで、同じ商品を何度も注文していても注文日を見れば多少区別がつきますよね。
ほんとは、注文するときに「注文ナンバー」みたいのをつけて、その注文ナンバーを手がかりに入庫処理をした方がいいのかもしれませんが、まあ、とりあえず今回はこれで・・・。

と、すると、注文日が古いものから並んでいた方が、確認しやすいですかね。どうかな。

Q_入庫状況という名前をつけてみました。


で、このクエリーを基に表形式のフォームを作ってみました。

[入庫日]を見れば、入庫してるのかしてないのかわかりますよね。
でも、けっこう数も多いし、未納入のものだけ確認したいときのために、右下に「トグルボタン」というのを作ってみました。
コマンドボタンでもいいんですけど、これだと一回クリックするとへっ込んだ状態になるので、「未入庫のものだけ表示してる状態か」「全部表示している状態か」区別つきやすいと思ったもんで。
ツールボックスに「トグルボタン」というのがあると思うんで、ぜひこれ使ってみてください。

で、そのトグルボタンのクリック時のイベントに、こんな感じのコードを書きます。これはマクロよりコードの方が簡単でしょう。

Private Sub トグル16_Click()

If Me![トグル16] = True Then

 Me.Filter = "[入庫日]=null"

 Me.FilterOn = True

Else

 Me.Filter = "" '間にスペースを空けない。

 Me.FilterOn = True

End If


End Sub

フィルタを使って、お手軽抽出です。あたしのトグルボタンは[トグル16]っていう名前になったんで、それをそのまま使いました。
みなさんはご自分のトグルボタンの名前、ちゃんと確認してくださいね。
トグルボタンがへこんでる状態(True)のときは入庫日がNullのレコードだけの表示にして、それ以外のときはフィルタの条件式を空っぽの状態にする、っていうプロシージャになります。

と、どうでしょう。割といけると思うんですけども・・・。