広告 Access 在庫管理

簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)

2019年9月13日

概要

必要に迫られて簡易的な在庫管理システムを作りました。

在庫管理システムを作るにあたり、それはもう膨大な数のWebサイトを参考にしました。そのまま使えるAccessの在庫管理システムがあればいいのに、そのまま使えるものは一つもありませんでした。そこで在庫管理だけ必要な人向けの簡易なAccessデータベースを作りましたので、それを公開します。

内容につきましては、右側サイドバーより項目をクリックしてご覧ください。
簡易マニュアルも10月末をめどに作成予定です。

このページはパソコンから見ることを前提としております。スマートフォン等におきましては全てが表示されないことがあります。

機能

入出庫

入庫・出庫、またその取り消しができます。保管場所を指定しますが、移動させた際の在庫転送、入庫時に1式としていたものを100個と単位を変換(例えばネジのような)する機能などがあります。品目に安全在庫数設定をしておき、在庫数が安全在庫数を下回った品目を一覧として見ることができます。

ログイン

ログイン機能により、処理を行うユーザーを分け、履歴に残すようになっています。
新規パスワードに更新する際のパスワード文字列の上限・下限、英数のみか英数記号かを設定できます(テーブル・T_各種設定)。

オプション設定により、当在庫管理システムのAccessファイルを開いた際には「F_ログイン」から始まる設定になっています。
ログイン機能を必要としない場合には、ここを「F_メイン」とするか、空欄にしてください。
なお、ログインしない場合にはメインメニューの管理者用メニューはグレーアウトしたまま、ボタンが押せませんので、コードを書き換える必要があります。
具体的にはメインメニュー起動時のVBAコードでcmd_○○.Enabled=falseの箇所を削除するかコメントアウトしてください。

履歴

入出庫の履歴・ログイン履歴などがあります。

インポート・エクスポート

在庫管理システムの旧バージョンからのテーブルのインポート、各種履歴のエクスポート機能があります。

ダウンロード

2022年10月16日より、久しぶりに手を付けてVer.2.00βをアップしました。記事は旧バージョンから随時書き換えています。10月末までの予定でリライトしています。

改訂日バージョン改訂内容
2019/9/10.1とりあえず
2019/9/20.2フォーム「F_入出庫履歴」で日付検索を追加
2019/9/60.3フォーム「F_入出庫履歴」と「F_在庫検索」と「F_安全在庫」にサブフォームを使うように変更した
2019/9/80.4保管場所移動(「F_在庫転送」)と「F_単位変換」機能を追加
2019/9/290.5フォーム開くと閉じるをマクロからVBAに変更。ExcelへのエクスポートをマクロからVBAに変更。フォーム「F_入出庫履歴」のサブフォームで品目型式をダブルクリックすると在庫検索を開くを追加
2019/10/170.6クエリ「Q_部品」、フォーム「F_部品検索」を追加。フォーム「F_入出庫処理」から呼び出せるようにした。
2019/10/190.7「部品マスタ」・「仕入先マスタ」・「社員マスタ」を分割フォームからサブフォームに変更。マクロを全廃。
2019/10/270.8クエリの検索条件式をVBA記述に変更。他細かな修正。
2019/11/80.81テーブル「検索履歴」を追加、「F_入出庫履歴」・「F_在庫検索」・「F_部品検索」・「F_安全在庫」のフォームにて「txt_部品型式」をテキストボックスからコンボボックスにして検索履歴表示を可能に。
2019/11/90.820.6で追加した「F_部品検索」を「F_単位変換」と「F_在庫転送」でも使用可能にした。
2019/11/170.9入出庫処理の取り消しを追加。(入出庫履歴の入出庫項目ダブルクリックにて)
2019/11/190.91入出庫処理の取消機能のバグ修正。
2019/11/200.92入出庫処理の取消機能の為にテーブル「メイン」にフィールド「削除日付」を追加
2020/5/61ログイン画面の追加とそれに伴う各処理の修正。デザインがダサいの色付けをやめた。
2020/5/61.1デザイン修正と軽微なバグ修正。
2020/5/71.2パスワード更新のフォームをインポート忘れていて修正。
2020/5/81.3「アクセス履歴」フォームにExcelへのエクスポートを追加。
2020/5/91.4「品目マスタ」「社員マスタ」「仕入先マスタ」にExcelからの一括インポートを追加。
2020/5/311.5「指図番号」「サイド番号」のテーブルを追加。テーブル「メイン」を「T_入出庫処理」に変更し、全てのテーブル名を「T_」から始まるように変更したため、全面的に修正。
2020/6/91.6「部品」を「品目」に変更。「txt_部品型式」を「cmb_品目型式」に変更。部品という名称だと範囲が狭くなるため。
2020/6/121.61一部「部品」が残っていたのを修正。ログイン関連を修正。
2021/7/41.7テーブルはそのままにクエリ・フォーム・VBAを全面的に見直し
2022/10/151.8T_入出庫履歴にサイド番号がなかったのを追加。ログイン画面から始まるように変更。
ファイル形式をAccess2007~の.accdbに変更。見つかったエラーに対処。
2022/10/182.00β旧バージョンからのインポート機能を実装。
テーブル削除画面追加。
ログイン・パスワード関連改造。
「T_各種設定」「T_マスタ更新履歴」「T_テーブル」追加。
T_品目に単価追加、Q_入出庫履歴に金額・指図番号追加。
2022/10/24
2.01βT_ログイン履歴にコンピュータ名・ユーザー名・ログアウト日時の項目を追加。
サブフォームによる表の表示を含むフォームにてフォームサイズを変更した際の表示の崩れのバグ修正。
2022/10/252.02βいくつかのバグ修正
2022/10/272.02Excelからのインポート処理の修正。Excelからのインポート用Excelファイルを同梱しました。
2022/11/052.10β「T_BOM」追加。
マスタ3フォーム(品目、社員、仕入先)作り直し。
日付のテキストボックスを削除し、処理日はその時点に変更。
誤記訂正。いくつかエラー処理強化。ボタンにアイコン追加。
2022/11/082.10「T_エラーログ」を追加。
2.10βで追加したBOM関連修正。
各フォームのタブ順修正。タイトルバー以外でもドラッグでフォーム移動。
「単位」「保管場所」「入出庫」「指図番号」のマスタのとりあえず版を「T_各種設定」フォームにて流用。
インポート機能をテーブルクリアのフォームにて流用。

改造

会社によって、在庫管理をする物や方法はさまざまで、カスタマイズが必要になることが多いようです。

改造される際の留意点としまして、肥大化するテーブル、例えばこの在庫管理システムではテーブル・T_入出庫履歴です。ログイン履歴ように古いデータを消去するわけにもいかないテーブルに保存するのはできるだけ軽量な数値などにします。ここにテキストなどで保存しますとあっという間にファイルサイズが大きくなり、読み書きの速度も低下していきます。○○コードという数値と実際のテキストを別のテーブルに用意して紐づけます。Accessはリレーショナルデータベースですので、このようなことが可能です。

テーブルやクエリを改造(項目を追加)した際の修正について

各社でカスタマイズしてご利用いただきたいのですが、クエリから改造しようとして、一旦テーブルを削除・・・などとすると、後々とても面倒なことになります(経験上)。
各所に記述されているSQL文を修正した方が早いですので、その場合についてまとめました。必要に応じて参照ください。

データベースのテーブルの読み書き

これから独自に在庫管理システムを作成される方や本Accessファイルをカスタマイズされる方向けの参考にデータベースの読み書き記事があります。

Webからのアクセス

この在庫管理システムは社外からWebを通してアクセスすることはできません。これを作成した当初はPCに何もインストールが許可されず、インストールされているものだけで処理しなければなりませんでした。
Accessデータベースでも会社のサーバー(Webからアクセス可能なもの)にODBCにて登録し、ASPにてWeb画面を作成すれば可能なはずです。

Accessであればファイルサーバー内に置いて共同利用できます。
また、Excelで在庫管理されている会社もあるようです。Excelでも同時にアクセスするようにファイルの設定を変更することが可能ですが、データ量が少なくてもとても重くなった経験があります。入出庫履歴のようなデータが重くなると思うとExcelによる在庫管理は避けた方がよいのと個人的には思います。

-Access, 在庫管理
-, , , , , , , , , , , , , , ,