Accessの在庫管理システムについてお探しですね。

広告

【無料】Accessで作る在庫管理システム!入出庫から棚卸しまで完全自作ガイド

毎日の在庫管理、Excelでやっているとだんだん大変になってきませんか?データが増えると動きが遅くなったり、誰かがファイルを開いていると他の人が使えなかったり…。

実は、Officeに入っているAccessを使えば、お金をかけずに使いやすい在庫管理システムが自分で作れるんです。

この記事では、Accessを触ったことがない人でも分かるように、基本的な作り方から入出庫の自動計算、実際の業務で必要な棚卸しの仕組みまで、順番に説明していきます。

なぜExcelじゃなくてAccessなの?在庫管理での大きな違い

在庫管理をパソコンでやろうと思ったとき、まず思い浮かぶのがExcelですよね。

でも、データがどんどん溜まっていくと、だんだん管理が難しくなってくることが多いんです。

Excelはもともと「表計算ソフト」なので、自由に使える反面、データの間違いを防ぐ仕組みは使う人次第。

一方、Accessは「データベース」という、データを安全に保管して、必要なときにサッと取り出すことに特化したソフトなんです。

この違いを理解することが、システム作りの第一歩になります。

Accessが在庫管理に向いている一番の理由は、「データの保管場所」と「入力する画面」をきちんと分けて管理できることです。

Excelだとシートに直接入力しますが、Accessでは裏側の「テーブル」というところにデータを保存して、「フォーム」という入力画面を通して操作します。

これで、うっかり過去のデータを消してしまったり、計算式を壊してしまったりする心配がグッと減ります。

それに、Accessは複数の表を関連付けて使える「リレーショナルデータベース」という仕組みになっているので、商品名や取引先名を何度も入力する必要がなく、入力ミスも防げます。

もう一つ大きいのが、「複数の人が同時に使える」ということ。

Excelだと誰かが開いていると他の人は編集できませんが、Accessなら設定次第で、倉庫で入庫作業をしている人と、事務所で在庫を確認している人が、同時に同じデータを使えます。

システム会社に頼むと何百万円もかかるような仕組みが、Officeに入っているAccessで作れるのは、かなりお得ですよね。

失敗しないための基本!3つのテーブルの作り方

Accessでシステムを作るとき、一番大事で最初にじっくり考えるべきなのが「テーブル設計」です。

ここを間違えると、後から直すのがすごく大変になるので、慎重に進めましょう。

初心者がやりがちなのが、Excelみたいに「全部の情報を一つの大きな表」にまとめようとすること。

Accessでは、情報の種類ごとに表(テーブル)を分けるのが基本です。

在庫管理に最低限必要なのは、「商品マスタ」「入出庫の記録」「保管場所マスタ」といった構成になります。

まず「商品マスタ」は、商品コード、商品名、値段、単位、最低在庫数など、あまり変わらない基本情報を管理する表です。

ここに「在庫数」という項目を入れたくなるかもしれませんが、それはNG。

在庫数は毎日変わる「結果」なので、マスタに入れると入出庫のたびに書き換えることになって、データがおかしくなる原因になります。

商品マスタには、あくまで商品の基本情報だけを登録して、それぞれの商品を区別するための「主キー(商品コード)」を必ず設定します。

次に、日々のモノの動きを記録するのが「入出庫テーブル」です。

ここには、いつ(日付)、何が(商品コード)、どんな理由で(入庫・出庫・返品・棚卸調整)、いくつ(数量)動いたのかを、時系列順にどんどん記録していきます。

このテーブルこそが在庫管理システムの心臓部で、ここに記録されたデータを計算することで、「今の在庫数」が分かる仕組みを作ります。

入出庫テーブルに必要な項目はこんな感じです。

* **ID(オートナンバー)**:取引ごとに自動で番号が振られる
* **入出庫日(日付/時刻型)**:実際にモノが動いた日
* **区分(短いテキスト)**:入庫、出庫、棚卸調整などを選ぶ
* **商品コード(短いテキスト)**:商品マスタとつなげるためのコード
* **数量(数値型)**:動いた数(出庫はマイナスにするなどルールを決める)
* **担当者(短いテキスト)**:誰が入力したか
* **備考(長いテキスト)**:特記事項があれば

こうやって、変わらない情報(マスタ)と変わる情報(入出庫記録)を分けて管理すると、商品名が変わったときも商品マスタだけ直せばOK。

過去の入出庫データを全部書き換える必要がなくなります。

これがデータベースの便利なところで、メンテナンスがすごく楽になるんです。

クエリを使いこなそう!在庫計算の自動化

テーブルができたら、次はデータを加工・集計する「クエリ」を作ります。

Accessのクエリは、Excelの関数やピボットテーブルみたいな強力な機能です。

在庫管理で一番大事な「今の在庫数」の計算は、このクエリを使って行います。

よくあるのが「在庫テーブル」を作ってそこに今の数を保存しようとすることですが、プロの作り方では「入庫数の合計」から「出庫数の合計」を引く計算をクエリで行って、リアルタイムに在庫数を出す方法が一般的です。

具体的には、「集計クエリ」という機能を使います。

入出庫テーブルをもとに、商品コードごとにまとめて、数量を合計するクエリを作ります。

このとき、入庫をプラス、出庫をマイナスで入力するルールにしておけば、数量を合計するだけで、その商品の今の在庫数が計算できます。

もし入庫と出庫を別の欄で管理しているなら、「入庫数合計 – 出庫数合計」という計算式を作ればOK。

この計算結果と商品マスタをつなげれば、「商品名ごとの在庫一覧」が表示されるようになります。

それから、実際に入力する画面である「フォーム」の作り方も大事です。

クエリは計算の仕組みなので、現場の人には分かりやすい入力画面を用意する必要があります。

Accessのフォーム機能を使えば、商品コードを入力するときに商品マスタからプルダウンで選べるようにしたり、商品を選んだ瞬間に商品名や単位が自動で表示されたりする仕組みが作れます。

難しいプログラミング(VBA)を使わなくても、設定だけでこういう入力補助機能が作れるのがAccessの良いところです。

入力ミスを防ぐことは、正確な在庫管理の基本ですからね。

もう少し進んだ機能として、在庫数が一定数を下回ったときにアラートを出す機能もクエリで作れます。

商品マスタに「発注点(最低在庫数)」という項目を作っておいて、さっき作った在庫計算クエリと比べます。

「今の在庫数 < 発注点」という条件を設定したクエリを作れば、発注が必要な商品だけを一瞬でリストアップできます。 これをレポート機能で印刷できるようにすれば、毎日の発注作業がすごく楽になりますよ。

実務で必須の「棚卸し」対応と長く使い続けるコツ

システムを作って終わりじゃなく、実際の業務で使い続けるには「棚卸し」への対応が必要です。

どんなに正確に入力していても、入力漏れや破損、紛失などで、データ上の在庫(理論在庫)と実際の倉庫にある在庫は必ずズレます。

このズレを修正して、システムを正しい状態に戻す作業が棚卸しです。

Accessで自作する場合、この棚卸し機能をどう作るかがポイントになります。

一番シンプルでおすすめなのは、入出庫テーブルに「棚卸調整」という区分を作ることです。

棚卸しの結果、実際の在庫がデータより少なかったら、その差分を「出庫(または調整減)」として記録します。

逆に多かったら「入庫(または調整増)」として記録します。

こうすれば、特別な処理を作らなくても、普通の在庫計算の中で在庫数が実数に修正されます。

もっと本格的にやるなら、棚卸し入力専用の画面を作って、実在庫数を入力すると自動的に差分を計算して、調整用のデータを入出庫テーブルに追加するような仕組みを作るといいでしょう。

最後に、自作システムを長く安全に使い続けるためのコツをお伝えします。

自作システムの一番のリスクは「作った人しか分からない」状態になることです。

作った本人が辞めたり異動したりすると、システムがブラックボックスになって、業務が止まる恐れがあります。

これを防ぐには、テーブルの構造やクエリの意味、日常の操作手順をまとめた説明書(設計書やマニュアル)を必ず作って、チーム内で共有してください。

それから、データのバックアップも大事です。

Accessファイルは一つのファイル(.accdb)でできているので、ネットワーク障害などでファイルが壊れるリスクがゼロではありません。

毎日決まった時間にファイルをコピーして別のフォルダに保存する自動バックアップを入れるか、退社時に必ずバックアップを取るルールを徹底しましょう。

無料で作れるAccessシステムですが、その中にあるデータは会社の大切な財産です。

セキュリティとバックアップをしっかりすることで、市販のシステムに負けない、信頼できる在庫管理が実現できますよ。

広告