Access

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

2019年9月13日

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

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

各々の環境に合わせて作り変えていただければ、と思います。特にデザインには自信がありません。各自のデザインセンスに合わせて作り変えてください。

Accessを単なるテーブルだけのデータベースとして使ったことはあっても、クエリやVBAを使ってシステムを組むのはこれが初めての経験でした。在庫管理システムは前職で使用していたSAPを念頭にして作りました。しかしAccessだけではSAPのようにはいきませんね。(注:SAPは在庫管理だけでなく、受注から組み立て・売上処理まで含んだシステムです)

この在庫管理システムはマクロを一切使用しておりません。VBAを基本としております。

最後にサンプルのデータベースをダウンロードできるようにしておきました。ここに記載のものをハナから入力するよりかは、ダウンロードしたAccessデータベースファイルを加工して使っていただいた方が便利かと思います。

あわせて読みたい

データベースの改訂履歴

7月4日にVer.1.7のZipファイルをサーバーにアップしました。以下のリンクのページはGoogle検索には今の所は表示されません。

あわせて読みたい

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

クエリから改造しようとして、一旦テーブルを削除・・・などとすると、後々とても面倒なことになります(経験上)。

各所に記述されているSQL文を修正した方が早いですので、その場合についてまとめました。必要に応じて参照ください。

あわせて読みたい

フォームのプロパティ(共通)

Accessのフォームのプロパティを変更していく過程を⇩に記しましたので、変更する際の参考にしてください。

あわせて読みたい

テーブルの作成

テーブルの数が多いために、一覧をタブにしましたが、タブでも見づらいでしょうか?ご勘弁ください。

T_品目T_保管場所T_社員T_入出庫T_仕入先T_単位T_入出庫処理T_検索履歴T_ログイン履歴T_合否T_指図番号T_サイド番号T_バージョン履歴
IDオートナンバー型
品目コード数値型
品目型式テキスト型
メーカーテキスト型
安全在庫数値型
最小ロット数値型
標準ロット数値型
標準納期数値型
仕入先コード数値型
保管場所コード数値型
Webサイトハイパーリンク型
削除Yes/No型
IDオートナンバー型
保管場所コード数値型
保管場所テキスト型
IDオートナンバー型
社員コード数値型
社員テキスト型
所属テキスト型
権限テキスト型
パスワードテキスト型
平文テキスト型
削除 Yes/No型

平文はパスワードそのものです(パスワードの項目にはSHA256で計算されたハッシュ値が入ります)。
動作確認用ですので、実際に運用の際には削除ください。

IDオートナンバー型
入出庫コード数値型
入出庫テキスト型
IDオートナンバー型
仕入先コード数値型
仕入先会社名テキスト型
郵便番号数値型
住所テキスト型
電話番号数値型
FAX番号数値型
営業担当者テキスト型
携帯電話番号数値型
Eメールアドレステキスト型
削除Yes/No型
IDオートナンバー型
入出庫コード数値型
入出庫テキスト型
IDオートナンバー型
日付日付/時刻型
社員コード数値型
品目コード数値型
入出庫コード数値型
数量数値型
単位コード数値型
削除Yes/No型
削除日付日付/時刻型
IDオートナンバー型
検索履歴テキスト型
IDオートナンバー型
社員コード数値型
日時日付/時刻型
成功or失敗Yes/No型
IPアドレステキスト型
IDオートナンバー型
成功or失敗Yes/No型
ログイン テキスト型
IDオートナンバー型
指図番号テキスト型
予算数値型
工数数値型

「指図番号」の名称は自由に書き換えてください。前職では下記の「サイド番号」とセットでした。

IDオートナンバー型
サイド番号数値型
名前テキスト型

前職では000…工数、420…通信費、460…出張費など指図番号以下に使用目的のサイド番号がありました。必要に応じて使うなり削除するなりしてください。

IDオートナンバー型
バージョン数値型
更新内容テキスト型

ログイン画面

ログイン画面については別途記事を作成しております。

あわせて読みたい

在庫管理システムの方にエクスポートした後、以下のVBAコードを修正します。

ログイン画面のVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

ログインパスワード変更のVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

ログイン履歴のVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

メインフォーム

F_メイン

【作成】からフォームの中の【空白のフォーム】を選んで、コマンドボタンを貼っていきます。1つコマンドボタンを作ったらコピペで増やしていくと、同じサイズのボタンになります。ヘッダーとフッターも使用しました。

メインメニューの下半分、管理者メニューとし、管理者でログインした以外はグレーアウトするようにしてあります。

コマンドボタンを配置します。ここでは「cmd_入出庫処理」「cmd_入出庫履歴」「cmd_在庫転送」「cmd_単位変換」「cmd_在庫検索」「cmd_安全在庫」「cmd_品目マスタ」「cmd_社員マスタ」「cmd_社員マスタ」「cmd_ログイン履歴」「cmd_閉じる」
としております。

メインフォームのVBA

  • コマンドボタンのプロパティのイベントが空のままです。イベントを割り当てなければなりませんので、【プロパティシート】の【イベント】タブの【…】をクリックします。
  • 【コードビルダー】を選んで【OK】をクリックします。上述のVBAのコードに飛びます。コマンドボタン1つ1つにこの作業が必要です。

メインフォームのVBAは下記の通りです。

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

入出庫処理

F_入出庫処理

Access素人には苦労したフォームです。空白のフォームから下記のようにコントロールを配置していきます。

入出庫処理フォーム
入出庫処理フォーム

日付:テキストボックス(名前:txt_日付、プロパティで書式を「日付 (S)」に変更する)
品目:コンボボックス(名前:cmb_品目)、直下にラベル配置(名前:lbl_品目)
数量:テキストボックス(名前:txt_数量)
入出庫:コンボボックス(名前:cmb_入出庫)、右横にラベル配置(名前:lbl_入出庫)
単位:コンボボックス(名前:cmb_単位)、右横にラベル配置(名前:lbl_単位)
保管場所:コンボボックス(名前:cmb_保管場所)、右横にラベル(lbl_保管場所)
社員:コンボボックス(名前:cmb_社員)、右横にラベル配置(名前:lbl_社員)

品目検索ボタン:コマンドボタン(名前:cmd_品目検索)
OKボタン:コマンドボタン(名前:cmd_OK)
Cancelボタン:コマンドボタン(名前:cmd_Cancel)
終了ボタン:コマンドボタン(名前:cmd_終了)

コンボボックスについてはもう少し記載しておきます。【プロパティシート】の【データ】タブの中の【値集合ソース】を下記のようにします。
cmb_品目:SELECT T_品目.品目コード,T_品目.品目型式 FROM T_品目 ORDER BY T_品目.品目型式;
cmb_入出庫:SELECT T_入出庫.入出庫コード,T_入出庫.入出庫 FROM T_入出庫;
cmb_単位:SELECT T_単位.単位コード , T_単位.単位 FROM T_単位;
cmb_保管場所:SELECT T_保管場所.保管場所コード,T_保管場所.保管場所 FROM T_保管場所;
cmb_社員:SELECT 社員.社員コード,社員.社員 FROM 社員;

コンボボックスは【プロパティシート】にて【列数】を「2」にします。そうすることによって、コンボボックスのプルダウンにて「コード」と「名前」が同時に表示できるようになります。選択される時は「コード」の方にしてあります。各列の幅が長かったり、短かったりすると思います。サンプルでは「列幅」に「1.5cm;5cm」を入力してあります。この数値を調整してください。コンボボックスの直下にラベルを配置したのは、コードだけでは不十分ですので、コードに対応する名前をラベルに表示させて、間違いを防止するようにします。

コンボボックス-列数2

入出庫処理フォームのVBA

フォーム「F_入出庫処理」のVBAは下記の通りです。項目に空欄があると警告を出すようにしています。
「cmd_Cancel」ボタンを押すと、全てのコントロールを初期化してデータベースは更新しません。
データベースを更新したときにはAccessは何もアクションがないため、コントロールを初期化してメッセージボックスでデータベースを更新したことを報せます。
入出庫データは「T_入出庫処理」テーブルに格納されていきます。

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

F_品目検索

会社では在庫品目の種類が思いの外多く、また類似の品目名が多々存在するために、品目検索のフォームを作りました。

当初はフォーム「F_入出庫処理」からのみ呼び出していましたが、「F_在庫転送」や「F_単位変換」からも呼び出せるようにしました。

Q_品目

検索のためにテーブル「T_品目」だけを置いたクエリ「Q_品目」を作ります。

抽出条件はVBAで記載しますので、ここでは書きません。

SQLビュー

上記SQLをクエリにコピーするには【作成】タブから【クエリデザイン】を選びます。【テーブルの選択】は閉じて、現れたウィンドウのタブの部分で右クリックし、【SQLビュー】を選びます。【SQLビュー】の状態でコードをペーストし、タブから【デザインビュー】を選べば元に戻ります。

F_品目検索のフォーム

空白のフォームから下記のようにコントロールを配置していきます。

品目型式:コンボボックス(名前:cmb_品目型式)
クエリ「Q_品目」を呼び出します。クエリの条件にテキストボックスの品目名の一部を使いますので、テキストボックスの下にそのような表記をラベルで作っておくと親切だと思われます。【プロパティシート】の【値集合ソース】は

検索:コマンドボタン(名前:cmd_検索)
終了:コマンドボタン(名前:cmd_終了)

サブフォームコントロールは名前を「Q_品目のサブフォーム」としておきます。

F_品目検索のVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

Q_品目のサブフォームのVBA

「品目コード」の部分でも「品目型式」の部分でもダブルクリックするとフォーム「F_入出庫処理」に値が入るようにしていますので、同じ記述が並んでおります。

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

モジュール

このフォームを使いまわしをするために、標準モジュールに下記の1行を入れます。どのフォームから呼び出したかを記憶し、SELECT CASE文で帰るフォームの処理を振り分けします。

検索履歴機能

インターネットブラウザの検索テキストボックスのようにAccessのテキストボックスでも検索履歴を表示させたいと思い、検索履歴機能を追加してみました。

エッセンスは別記事にまとめてあります。

あわせて読みたい

入出庫履歴

Q_メイン

  • 【作成】-【クエリデザイン】から「メイン」「品目」「入出庫」「社員」「単位」を選びます。
  • 「メイン」と他の共通するコードを連結します。例えば「品目コード」を結びます。この時、結合線をダブルクリックしてプロパティを開き、

2の「’メイン’の全レコードと’品目’の同じ結合フィールドのレコードだけを含める」とします。他の結合線も同様です。

※必要に応じて表示させる項目を追加・削除してください。

このクエリから「Q_入出庫履歴」と「Q_集計」に転用します。「Q_入出庫履歴」と「Q_集計」はQ_メインを使わずに独自に作っても全然構いません。

SQLビュー

下記の記述を【SQLビュー】からコピペすると早いです。

Q_入出庫履歴

Q_入出庫履歴には「Q_メイン」を利用します。

【追記(2019/10/27)】最新版ではここのクエリの抽出条件は空です。代わりにVBAにて記述しております。ただ、時々妙な表示をすることがありまして、まだ改変の余地がありそうです。

VBAを使わずにクエリにて抽出条件を記載する場合です。画像ですと抽出条件が見づらいため、表にします。

フィールド日付品目型式[Forms]![F_入出庫履歴]![txt_開始日付][Forms]![F_入出庫履歴]![txt_終了日付]
テーブルQ_メインQ_メイン  
並べ替え    
表示    
抽出条件>[Forms]![F_入出庫履歴]![txt_開始日付] And <[Forms]![F_入出庫履歴]![txt_終了日付]Like "*" & [Forms]![F_入出庫履歴]![cmb_品目型式] & "*"  
または<[Forms]![F_入出庫履歴]![txt_終了日付]Like "*" & [Forms]![F_入出庫履歴]![cmb_品目型式] & "*"Is Null 
 >[Forms]![F_入出庫履歴]![txt_開始日付]Like "*" & [Forms]![F_入出庫履歴]![cmb_品目型式] & "*" Is Null
  Like "*" & [Forms]![F_入出庫履歴]![cmb_品目型式] & "*"Is NullIs Null

SQLビュー

F_入出庫履歴

入出庫履歴を表示するフォームです。全て見えると規模によっては邪魔になりますので、「品目型式」、「履歴の開始日付」、「履歴の終了日付」で検索できるようにしています。

品目型式:コンボボックス(名前:cmb_品目型式)
開始日付:テキストボックス(名前:txt_開始日付)
終了日付:テキストボックス(名前:txt_終了日付)

サブフォームの配置は下記を参照ください。

サブフォームの配置の仕方

  • 【デザイン】タブのコントロールのサブフォームをクリックします。このとき、【コントロールウィザードの使用】をONしておきます。
  • 下の図のまま【次へ】をクリックします。
  • 【テーブル/クエリ】から「Q_入出庫履歴」を選び、全ての項目を【選択したフィールド】へ移します。
  • 【完了】でも良いですが、【次へ】をクリックすればサブフォームの名前を付ける画面になります。

サブフォームサイズや、フィールドの幅は各自適宜変えてください。

名前は「Q_入出庫履歴のサブフォーム」のままとしました。気に入らない方は変えてください。

入出庫処理取り消し

当初、取り消し処理のコードを用意していましたが、「削除」フィールドを利用することにしました。

フォーム「入出庫履歴」のフィールド「入出庫」の項目をダブルクリックしますと、入出庫処理取り消しの確認のメッセージボックスが表示されます。そこで「はい(Yes)」を選択すると、該当する入出庫処理のフィールド「削除」にチェックが入ります。このチェックが入った処理は「在庫検索」処理にも反映されません。

入出庫履歴フォームのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

入出庫履歴サブフォームのVBA

フィールド「品目型式」をダブルクリックした時に、「在庫検索」フォームを開き、テキストボックスにダブルクリックした箇所の「品目型式」を渡す記述です。

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

在庫検索

Q_集計

「Q_メイン」クエリを利用して下記のように作ります。

  • 計算がありますので、【デザイン】タブを開いて「Σ集計」をクリックしておきます。
  • Σ集計をクリックすると、今度は「集計」という行が現れます。下記のように「数量」を計算(合計)できるようにします。
  • 「数量の合計:数量」となっているフィールドはプロパティを開いて【表題】を「在庫数」にしておくと、フォームが表示された時に「在庫数」と表示されます。

「品目型式」の抽出条件はVBAで記載します。

※必要に応じて表示させる項目を追加・削除してください。

SQLビュー

空白のフォームから下記のようにコントロールを配置していきます。

品目型式:コンボボックス(名前:cmb_品目型式)
検索:コマンドボタン(名前:cmd_検索)
終了:コマンドボタン(名前:cmd_終了)

サブフォームコントロールは名前を「Q_集計のサブフォーム」としておきます。

在庫検索フォームのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

安全在庫

Q_安全在庫

「Q_集計」と似ていますが、数量の合計の抽出条件を下記のようにします。

品目型式の抽出条件はVBAにて記載します。「数量の合計:数量」をVBAに記載する方法がわかりませんでした。このクエリに残っております。

※必要に応じて表示させる項目を追加・削除してください。

SQLビュー

F_安全在庫

空白のフォームから下記のようにコントロールを配置していきます。

品目型式:コンボボックス(名前:cmb_品目型式)
検索:コマンドボタン(名前:cmd_検索)
終了:コマンドボタン(名前:cmd_終了)

サブフォームは「クエリQ_安全在庫」を選び「Q_安全在庫のサブフォーム」としました。

安全在庫フォームのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

安全在庫設定に引っかかる品目が生じたら、発注担当者などにEメールを飛ばせるようにしたいと考えていました。AccessではEメールは飛ばせないであろうという先入観から調べてもいませんでしたが、実際にはやろうと思えばできるようです。AccessデータベースによるEメール送信のサンプルを作ってみました。そのうちにこの在庫管理システムにも実装したいと思います。サンプルは下記を参照ください。

めいあんのIT格闘記
AccessデータベースからEメールを送る(サンプル付き)

在庫管理システムを作っていて「【安全在庫】に引っかかる品目が現れたら管理者にEメールを飛ばしたい」と思っていました。サンプルファイルを作って実行してみましたら、すんなり成功しました。サンプル付きです。

続きを見る

在庫転送

F_在庫転送

空白のフォームから下記のようにコントロールを配置していきます。

コントロールは「F_入出庫処理」とほぼ同様です。

日付:テキストボックス(名前:txt_日付、プロパティで書式を「日付 (S)」に変更する)
品目:コンボボックス(名前:cmb_品目)、直下にラベル配置(名前:lbl_品目)
数量:テキストボックス(名前:txt_数量)
単位:コンボボックス(名前:cmb_単位)、直下にラベル配置(名前:lbl_単位)
転送元:コンボボックス(名前:cmb_転送元)、直下にラベル配置(名前:lbl_転送元)
転送先:コンボボックス(名前:cmb_転送先)、直下にラベル配置(名前:lbl_転送先)
社員:コンボボックス(名前:cmb_社員)、直下にラベル配置(名前:lbl_社員)

品目検索ボタン:コマンドボタン(名前:cmd_品目検索)
OKボタン:コマンドボタン(名前:cmd_OK)
Cancelボタン:コマンドボタン(名前:cmd_Cancel)
終了ボタン:コマンドボタン(名前:cmd_終了)

コンボボックスのプロパティシートのデータタブの中の値集合ソースを下記のようにします。
cmb_品目:SELECT T_品目.品目コード,T_品目.品目型式 FROM T_品目 ORDER BY T_品目.品目型式;
cmb_単位:SELECT T_単位.単位コード , T_単位.単位 FROM T_単位;
cmb_転送元:SELECT T_保管場所.保管場所コード,T_保管場所.保管場所 FROM T_保管場所;
cmb_転送先:SELECT T_保管場所.保管場所コード,T_保管場所.保管場所 FROM T_保管場所;
cmb_社員:SELECT 社員.社員コード,社員.社員 FROM 社員;

在庫転送フォームのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

単位変換

F_単位変換

空白のフォームから下記のようにコントロールを配置していきます。

日付:テキストボックス(名前:txt_日付、プロパティで書式を「日付 (S)」に変更する)
品目:コンボボックス(名前:cmb_品目)、直下にラベル配置(名前:lbl_品目)
変換前数量:テキストボックス(名前:txt_変換前数量)
変換後数量:テキストボックス(名前:txt_変換後数量)
変換前単位:コンボボックス(名前:cmb_変換前単位)、直下にラベル配置(名前:lbl_変換前単位)
変換後単位:コンボボックス(名前:cmb_変換後単位)、直下にラベル配置(名前:lbl_変換後単位)
保管場所:コンボボックス(名前:cmb_保管場所)、直下にラベル(lbl_保管場所)
社員:コンボボックス(名前:cmb_社員)、直下にラベル配置(名前:lbl_社員)

品目検索ボタン:コマンドボタン(名前:cmd_品目検索)
OKボタン:コマンドボタン(名前:cmd_OK)
Cancelボタン:コマンドボタン(名前:cmd_Cancel)
終了ボタン:コマンドボタン(名前:cmd_終了)

コンボボックスのプロパティシートのデータタブの中の値集合ソースを下記のようにします。
cmb_品目:SELECT T_品目.品目コード,T_品目.品目型式 FROM T_品目 ORDER BY T_品目.品目型式;
cmb_入出庫:SELECT T_入出庫.入出庫コード,T_入出庫.入出庫 FROM T_入出庫;
cmb_変換前単位:SELECT T_単位.単位コード , T_単位.単位 FROM T_単位;
cmb_変換後単位:SELECT T_単位.単位コード , T_単位.単位 FROM T_単位;
cmb_保管場所:SELECT T_保管場所.保管場所コード,T_保管場所.保管場所 FROM T_保管場所;
cmb_社員:SELECT 社員.社員コード,社員.社員 FROM 社員;

単位変換フォームのVBA

単位変換は購買からの発注が「1式」「1箱」などを1式は「100個」とか1箱は「12個」などにする場合です。最初から1式で入荷しても在庫管理システムでは100個と入力する場合には不要な処理です。将来的に購買への発注伝票作成や購買が入力処理することも念頭に置いての処理です。

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

マスタ

品目マスタ

品目の基本情報(マスタ)を編集したいときがきます。そのためのフォームを作ります。

上半分にテキストボックスを、下半分にサブフォーム(テーブル品目を選択)を配置していきます。

フォームの【レコードソース】にテーブルを割り当てるのではなく、テキストボックスをサブフォームのテキストボックスに合わせていきます。

サブフォームの項目の分だけ上半分にテキストボックスとチェックボックスを配置します。

テキストボックスとサブフォームのテキストボックスの関連付け

上半分のテキストボックスの【プロパティ】の【データ】にて、【コントロールソース】の右端の【…】をクリックします。

下記のように、サブフォーム-フィールド-<値>とし、<値>のところでダブルクリックします。

テキストボックスには

という具合に値が入り、サブフォームのテキストボックスと連動します。

最後にフォームに「終了ボタン:コマンドボタン(名前:cmd_終了)」を追加しておきます。

品目マスタのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

社員マスタ

社員マスタのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

サブフォームで「T_社員」を選択する以外は「品目マスタ」同様です。

仕入先マスタ

仕入先マスタのVBA

VBAのコードのみを別のページに移動しました。参照される方はこちらをクリックしてください。

サブフォームで「T_仕入先」を選択する以外は「品目マスタ」同様です。

その他

バーコード

各種コードをバーコードで表示させる方法を簡単に記しておきました。(Excelによる帳票サンプル付き)
2021年7月8日、バーコードフォントをインストールしなくても実現できるように作り直しました。

あわせて読みたい

完成したら

完成すると、フォームの表示だけにしたくなります。その際のAccessの設定は下記リンクに記載がありますので参照ください。ここでダウンロードするデータベースは編集できるように下記リンクのような処理は施しておりません。

・フォームオープン時のVBA記述
・Accessのオプション設定

https://www.feedsoft.net/access/guide-form/guidef81.html

バックアップ

私は経験したことがありませんが、データベースはたまに破損するようです。

こまめにバックアップを取って万が一に備えましょう。

データベースの分割

ここの記事を参考にされている方は小規模な組織での運用で品目点数や入出庫回数も少ないかもしれません。

しかし、時間を追うごとに蓄積されるデータが多くなり、重くなるかもしれません。そんな時はデータベースをテーブルとフォームなどに分割するといいかもしれません。方法は【データベースツール】タブから【Accessデータベース】を選びます。これでファイルが2つに分割されます。テーブルのファイルをファイルサーバ上に置いておき、フォーム等のファイルを利用者のローカルPCにコピーして使います。

テーブルのファイルの保存先を移動させるとアクセスできなくなります。

デザインについて

旧式のAccessの形式(*.mdb)にて作成しております。従ってコマンドボタンがフラットになっています。

【ファイル】タブから【名前を付けて保存】にて*.accdb形式にて保存すれば、3Dのコマンドボタンをデザインすることができます。他にもデザイン的にかっこよくできるかと思います。

ダウンロード

拡張子.mdb形式にしましたので、Access2002~Access2019で開けると思います。データベースを開くとログイン画面がポップアップ表示されます。そのウィンドウで右クリックし、「閉じる」をクリックしてください。また「コンテンツの有効化」をクリックします。これで編集して使えるようになります。

コンテンツの有効化

Ver.1.7(2021年7月4日版)(テスト用のデータを含んだままです)

あわせて読みたい

Ver.1.61(2020年6月12日版)

ダウンロードはこちら

Ver.1.5(2020年5月31日版)

一部データが入っていますが、テスト用のデータは概ね削除してあります。データインポート用のExcelファイル同梱です。

ダウンロードはこちら

Ver.1.3(2020年5月8日版)

データなし版のAccessデータベース

ファイルはこちら(在庫管理システム(データなし).zip) 簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)

仮データのうち、テーブル「メイン」「品目」「保管場所」「社員」「検索履歴」を空にしたものです。(「仕入先」は元々空です)
テーブル「単位」「入出庫」「バージョン履歴」も削除したい(作り変えたい)方はご自身で行ってください。

参考⇩

あわせて読みたい

仮データを含む版のAccessデータベース

ファイルはこちら(在庫管理システム(仮データ付).zip)

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

コードの付け方

会社では社員番号が「0」から始まる8桁の数値なので、それをそのまま用います。サンプルのデータベースでは「1」から始まる5桁の数値にしました。所属の項目がありますが、ない方が良い場合もあるでしょう。人事異動の度に書き換えていたら大変です。

品目コード(あるいは商品コード)は「20」~「29」で始まるコードで割り振ります。これはインストアマーキングと呼ばれるスーパーマーケットなどでの野菜などのパッケージ化されていない商品にコードを割り振るルールだそうです。組織や管理する品目の規模にも依りますが6桁前後あればこと足りるのではないでしょうか。

単位コードはサンプルのデータベースには「5」で始まる3桁の番号にしました。サンプルのデータベースではインボイスの単位を参照しました(リンク切れ)。

入出庫コードはサンプルのデータベースには「6」で始まる3桁の番号にしました。

保管場所コードはサンプルのデータベースには「7」で始まる3桁の番号にしました。

JANコードについて、興味深いサイトがありました(こちら

最後に

在庫管理システムのパッケージを購入するほどの規模ではない会社・組織にて、しかし在庫管理はしなくてはならない方向けです。市販のパッケージと比較して不足する機能は多々あります。

処理の削除機能と削除されたデータが在庫に計上されないような処理を入れました。どうでしょうか?入出庫コードの取消を使うようにした方がいいでしょうか?

改善・追加したい機能

可能な限りの改善改良は行ってみますので、お気軽にコメントに要望等をご記入ください。また、もっと容易な方法があるよ、というアドバイスもいただければ幸いです。Ver.2.0として下記のいくつかを取り入れます。

  • 指図番号とサイド番号のマスタを忘れていました⇨追加しましたが、追加したのみです。
  • ローカルPCの画面解像度が異なるとフォームの見え方が変わります。それをなんとかしたい⇨着手中
  • 新規ユーザーの場合は管理者が仮パスワードを登録して本人に通知し、最初のログイン時に本パスワードに変更する方法に変えようかと思います
  • 棚卸し用データのエクスポートと集計結果をインポート
  • 閲覧・編集権限をより細かく設定したい
  • ログ(履歴)関連を増やしたい
  • 購買発注や営業・管理部門の経験がないため、そのあたりを勉強して追加できれば(しないかも)いいですね

ログイン画面のみのサンプルを作成しました。⇩

あわせて読みたい

-Access
-, , , , , , , , , , , , , , ,

Please disable your adblocker or whitelist this site!

//アドセンスの遅延読み込み