<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



【入庫処理】

さて、では次に、入庫の仕組みについて考えてみましょう。

ここでは、更新クエリーを使って直接足し込む方法をやってみます。
もちろん出庫のときと同じ構造で、入庫テーブルの中の「入庫数」を集計して、今までの総入庫数を計算する方法でもオッケーだと思いますよ。
で、逆に、これからチャレンジする方法を出庫時に用いてもいいでしょう。

えーと、で、これが入庫フォームです。

あ、標題は変更てないんで、入庫テーブルのまんまですけども・・・。
みなさんはなんか気の利いたタイトルに変えてみてくださいね。



なんかメーカーと入庫商品、選んでみてください。
あと、入庫数を入力して、Enterキーを押してカーソルを入庫数以外のとこにすっ飛ばしといてください。

で、このフォームを出したままで、クエリーをひとつ作ります。

今表示している入庫商品商品マスターから探し出して、入力されてる入庫数分足し算する更新クエリーを作ります。

クエリーは[商品マスター]を基にして、とりあえず[商品番号]と、目印代わりに[商品名]を選んでおきましょうか。

で、抽出条件は毎度おなじみ。
Forms![入庫フォーム]![商品]     コンボボックスの名前ですよね。


で、そーっとそーっとデータシートビューにひっくり返してみましょう。

どうでしょう。とりあえず、フォームで選んだ商品とおんなじやつ、ゲットできます?



で、あとこのクエリーに必要そうなフィールドとして[期初在庫]を選びます。

そしてこれがミソ。右側の空いてるグリッドに、入庫数のテキストボックス名を入れます。

Forms![入庫フォーム]![入庫数]

さて、今度はどうかな・・・。データシートビューに切り替えてみましょう。
フォームに入力した入庫数、出てきます?
フォームに新規入力途中のレコードだと、まだ保存されてない状態(エンピツマーク状態)ですからね。
こういう値を直接[入庫テーブル]から拾うのはちと難しいんで、フォームを通じてクエリーに反映させていきます。

テスト方法がちょっとややこしいですが、ここまでオッケーですか?
これをどうするか・・もうだいたいお分かりですよね。

式1期初在庫に足し算するような更新クエリーにすればいいんです。挑戦してみましょう。

期初在庫の「レコードの更新」欄に、式を書きます。

[期初在庫]+Forms![入庫フォーム]![入庫数]

とりあえず選んでおいた商品名や、とりあえず確認用に作った式1は、最終的にはいらないので削除します。

必要なのは抽出条件付きの[商品番号]と、上記の式の入った[期初在庫]だけ。
んー、期初在庫って名前、やっぱ変だけど・・・。ただの[在庫]にすりゃよかったな・・・。まあいいか。

Q_入庫するべしという名前をつけて保存し、実行してみましょう。


で、このクエリーと、入庫フォームを両方ともいったん閉じ、商品マスターを見てみましょう。
どうです?足し算されてます?

あとはこのクエリーをタイミングよく動かす仕組みを考えれば完成。
入庫フォームに[入庫]とかいうコマンドボタンを作って、これクリックしたらQ_入庫するべしクエリーを開くようなマクロかコードを作ればいいですよね。

挑戦してみましょう。で、入庫の仕組みも完成。いくつか入庫してみましょう。

こんな感じで、入庫処理のボタンを作って、これクリックしたときのイベントを作るわけです。
この方法が一番ノーマルでしょう。

何度かテストしてみて、うまく動くことが確認できたら、クエリー実行時の確認メッセージを
非表示にして、さらにその後新規レコードにレコードの移動をさせるとか、今までの工法を用いて応用してみてください。


この辺でちょっとしたメニュー画面でも作ってみますかね。
ええと、大まかに分けて、出庫と入庫と在庫状況確認、商品マスター登録やメーカー登録処理・・・4つの処理に分けられますか・・。

こんな感じのメニューフォームを作ってみました。
ちょっとイメージファイルを挿入してみたんですけどね。

これは、フォームに「イメージ」っていうコントロールを作って、そこにあらかじめ作っておいたイメージファイルを指定しました。

イメージコントロールは、ツールボックスにボタンがありますよ。
会社のロゴマークとかあれば、ぜひ挑戦してみてくださいね。



でも、著作権にふれるようなものは要注意ですよ。個人で楽しむ範囲なら問題ないと思いますけどね。

あたしはあと、こんな感じの「商品マスターメンテナンス用のフォーム」を作ってみました。
これはみなさん、ぜひ工夫して使いやすいものを作ってみてください。
データシートビュー開いて入力してもいいかもしれないですけど、ちょっと気の利いたフォームがあった方がいいですよね。