<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



このフォームの右端の方にでも、ちっちゃくコマンドボタンを作ります。左端でもどっちでもいいです。

で、クリックした行の商品番号商品名が、入庫フォームに自動的に入力されてれば、入庫の処理、すこしはわかりやすくなるんじゃないですかね。

Private Sub コマンド20_Click()

DoCmd.Minimize

DoCmd.OpenForm "入庫フォーム"

Forms![入庫フォーム]![商品] = Me![商品番号]

Forms![入庫フォーム]![商品名] = Me![商品名]

DoCmd.GoToControl "入庫数"


End Sub

一番上のは、いちおう、この馬鹿でかい一覧表のウィンドウをちっちゃくしてしまおうかなと思って入力してみました。
マクロの「最小化」っていうアクションです。閉じちゃってもよかったのかもしれないですけども・・・。
別になくっても何ともない操作です。必要なのは2行目から。

で、入庫フォームを開いて、

入庫フォームのコントロールに値を代入するようにします。

で、最後の気配り。入庫数のテキストボックスにカーソルを移動。

せっかく整えた入庫フォームですけど・・・。
そうなるとコンボボックスで商品名を選択する必要は皆無になりますね。

テキストボックスに作り替えて、商品番号と商品名を代入できるようなカタチに整えましょう。
あ、上で記したコードと、テキストボックスの名前揃えるようにしてくださいね。

で、入庫数を入力して[入庫処理]ボタンをクリックすれば、あとは従来どおり更新クエリーが働いて、商品マスターの期初在庫に入庫数が足し算されますよね。

さらにもうひとつ工夫してみましょうか。とりあえず[入庫テーブル]と組み合わせれば、[注文テーブル]の中のレコードのうち、どれとどれが入庫済みかなんとかわかりますけども、[注文テーブル]の中でも、入庫済みであることがわかるような印をつけたいんです。

そこで、[注文テーブル]にもうひとつ、Yes/NO型のフィールドを追加して、入庫のタイミングでOnにするような仕組みを作ろうと思います。

フィールド名を[入庫済み]とでもしましょうかね。
で、このフィールドをOnにする更新クエリーを作って、これを要領はさっきと同ようなもんです。

ただし、今度は[商品マスター]じゃなくて[注文テーブル]のフィールドを更新するんですよね。もしかしたら、同じ商品を同時期に何度も注文しているかもしれないです。入庫しないうちにもう一回、とかね。
そこで、判断するフィールドをふたつにしてみました。[注文日][商品番号]です。

ほんとは注文番号とかそんな感じのフィールドがあればいいんですけど、今回作ってるのは受発注システムじゃないんで、とりあえず今ある情報で判断できるやり方で考えてみます。

Q_入庫済みフラグ更とでもつけますかね。

入庫状況フォームの[商品番号]と[注文日]の両方を抽出条件に並べれば何とかなるでしょう。
同じ日に同じ商品を何度も発注する可能性がある場合は、他に何か考えないといけないですけどね・・・。

で、この一連の処理を、入庫時に行うわけです。
入庫フォームの[入庫処理]ボタンの処理ですね。

あたしは今んとここんな感じになりました。マクロでも同じことができると思います。

Private Sub コマンド11_Click()

DoCmd.SetWarnings False

DoCmd.OpenQuery "Q_入庫するべし"

DoCmd.OpenQuery "Q_入庫済みフラグ更新"

DoCmd.SetWarnings True


DoCmd.Close
DoCmd.SelectObject acForm, "入庫状況フォーム"
DoCmd.Restore
DoCmd.Requery
End Sub

更新クエリーを2連発してます。その後の処理は、オマケです。もしよかったら取り入れてみてください。


ううう、なんかクエリーだらけになっちゃって、わけわかんなくなりそうですね・・・。
こういうのは、なんかメモしながら、とりあえず記憶に新しいうちに一気に作っちゃったほうがいいですよ。
あたしだって、今、ネタ考えながら作ってんですから・・・。大目にみてね。


こういう処理が重要になってくるなら、やっぱり注文伝票番号みたいなのを注文時に注文テーブルにつけるようにして、注文テーブルで入庫の処理を管理できるようにしておいた方が、「いつ発注したものが入庫されてないか」正確に把握することができますよね。今日はここまででおわりにしちゃいますけど、発注/納入のシステムをこれから考えようとなさってる方は、ぜひその辺もシュミレーションしてみてくださいね。こういうのは実際作ってみるのが一番状況を把握しやすいってもんだと思います。

さあ、最後になりました。大仕事が残ってます。棚卸です。