こんにちは、Accessブロガーのなかぜんです。
「Excelの在庫管理では限界を感じてきた…」「Accessを使って効率よく在庫を管理したい!」という方に向けて、今回はAccessで作る在庫管理システムの作成手順をご紹介します。
業務で使えるレベルの基本的な在庫管理システムが、自分で作れるようになることを目指して、一つひとつ丁寧に解説していきますね。
1. 在庫管理システムってどんなもの?
在庫管理とは、「今、在庫が何個あるか」「いつ、どれだけ入荷・出荷されたか」を把握し、必要な数を切らさずに管理することです。
Accessを使えば、入出庫履歴の管理・在庫数の自動計算・検索や集計まで、手軽に実現できます。
2. テーブル設計から始めよう
基本となる3つのテーブル
- T_商品:商品マスタ(商品ID、商品名、単位、基準在庫など)
- T_入出庫:入出庫履歴(履歴ID、商品ID、日付、区分[入庫/出庫]、数量)
- T_在庫数(またはクエリで算出):商品ごとの現在庫数を表示
テーブル例:T_商品
商品ID(主キー) オートナンバー
商品名 短いテキスト
単位 短いテキスト
基準在庫 数値型
3. クエリで現在庫数を計算
入出庫履歴から在庫数を求めるクエリを作成します。
在庫数計算クエリのSQL例
SELECT
商品ID,
Sum(IIf(区分='入庫', 数量, -数量)) AS 在庫数
FROM
T_入出庫
GROUP BY
商品ID;
このクエリでは、入庫ならプラス、出庫ならマイナスで集計し、現在庫数を計算します。
4. フォームで入力・確認を簡単に
① 入出庫フォーム
「T_入出庫」を元にフォームを作成。商品をコンボボックスで選べるようにすると入力が便利です。
② 在庫確認フォーム
クエリで作った現在庫数をサブフォームに表示すると、リアルタイムで在庫確認ができます。
5. VBAで便利機能を追加
たとえば「在庫が基準を下回ったら警告表示」という処理をVBAで追加できます。
VBAコード例(警告メッセージ)
If Me.在庫数 < Me.基準在庫 Then
MsgBox "在庫が少なくなっています!", vbExclamation
End If
6. よくあるミスと注意点
- 区分(入庫/出庫)を必ず正しく選ばないと在庫計算が狂います
- 商品マスタとのリレーションシップを設定し忘れると、フォームが不安定になります
- 在庫数のクエリを更新系と混在させないように注意(更新クエリとは別管理)
7. 応用ポイント(中級者向け)
- 複数倉庫対応:倉庫IDを追加して、拠点ごとの在庫管理を実現
- バーコード入力対応:バーコードリーダーから商品入力を可能に
- 生産管理や仕入管理と連携:発注点や納期管理も連動可能
8. まとめ:自作システムで業務効率UP!
Accessを使えば、意外と簡単に在庫管理システムが構築できます。
今回ご紹介したように、「テーブル設計」→「クエリ作成」→「フォーム構築」→「VBAで便利機能追加」と順を追って作れば、初心者でも確実に形になりますよ。
次のステップとしては、「出荷指示」や「仕入予定」などの機能を追加して、より実践的な管理ツールに育ててみてくださいね。
楽天ブックス
¥2,178 (2025/05/02 11:25時点 | 楽天市場調べ)
