<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 コマンド15_Click()
If MsgBox("在庫数を更新します。よろしいですか?", vbOKCancel) = vbCancel Then
Exit Sub
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "Q_期初在庫更新"
DoCmd.OpenQuery "Q_累積テーブルに追加"
DoCmd.OpenQuery "Q_累積テーブルに追加_入庫"
DoCmd.OpenQuery "Q_注文テーブル削除"
DoCmd.OpenQuery "Q_出庫テーブル削除"
DoCmd.OpenQuery "Q_入庫テーブル削除"
DoCmd.SetWarnings True
DoCmd.Close
MsgBox "商品マスターの在庫数が更新されました。", , "棚卸処理は完了しました"
DoCmd.OpenForm "メニュー"
End If
End Sub
最初と最後に、メッセージが出るようにしてみました。
最初のメッセージボックスはキャンセルできるように、キャンセルボタン付きのメッセージボックスにして、キャンセルが押されたらプロシージャを抜けるようにしています。
やったー!ゴールです。おつかれさまでした。
ちょっと凝り過ぎちゃいましたかねぇ・・・。でも、データが出たり入ったりする様子、いろいろご覧いただけたんじゃないかなと思います。
いやー、ほんとにこういうのを作り込むのは大変なんですよ。
細かいところはまだいろいろあると思いますが、これをたたき台にして、みなさんなりの在庫システムを目指してみてくださいね。
後は、起動時の設定など必要に応じて整えて、最後にデータベースの最適化をしておきましょう。
テストでレコード削除したりなんだり繰り返してますから、データベースサイズ、結構変わると思いますよ。
どうしても、何か作り込むとき、レポートとかフォームから考えてしまいがちですけれど、最終的にテーブルのデザインがしっかりしてないと、すごくめんどうくさいことや回りくどいことをして、余分な処理をいっぱい詰め込まないとならなくなっちゃうんです。
在庫管理だけじゃなくて、出庫や入庫、発注処理なんかもしっかり作りたいな、と思ったら、それなりのテーブル構造を持たせておかないとならないってところ、何ヶ所か出てきましたよね。もちろん、初っ端からわかってればそれに超したことはないんですけど、こういうのはやってみないとワカラナイってこともあるんで、とにかくいろいろ作ってみて判断するより他ないでしょう。
VBAで作りたいだのテーブルの正規化がどうだのリレーションシップがどうだのというのは後からついてくること。
とにかくデータの流れを追ってみて、処理にあったテーブル設計ができるようになること。
これがAccessを使いこなす上での最終目的だと思ってください。