在庫管理データベース:Microsoft Access

Homeへ > テンプレートのメニューへ

Accessで作成した在庫管理のテンプレートです、無料でダウンロードできます。

入庫数と在庫数を入力すると、自動的に在庫数を計算するAccessのデータベースです。
構成は部品コード・部品名・在庫数などのフィールドがある部品マスターテーブルと、入庫日・入庫数・出庫日・出庫数などのフィールドがある入出庫テーブルになります。
メニューフォームから、各入力フォームの表示とレポート印刷ができるので、操作性は良くなっています。
特に入出庫数の入力フォームは、コンボボックスで部品マスターから選択できるようにしています。
通常コンボボックスで選択すると、部品IDなど1つのフィールドのみ表示しますが、ここではテキストボックスを使用し、残りの部品名や在庫数も表示するようにしています。
VBA・フォーム・コントロール・テーブル・クエリ・レポート・SQLなど多くの機能を使用し作成しました。
ダウンロードし自社向けにカスタマイズすることも可能です。
作成手順は下記の通りです。

  1. 部品マスターテーブルを作成します。
  2. 入出庫テーブルを作成します。
  3. メニューフォームを作成します。
  4. 部品マスターの入力フォームを作成し、VBAを入力します。
  5. 入出庫テーブルの入力フォームを作成し、VBAを入力します。
  6. メニューフォームの入力フォームを開くVBAを作成します。
  7. 部品マスターと入出庫、それぞれのフォームでデータを入力します。
  8. 部品マスターのレポートを作成します。
  9. 部品マスターと入出庫テーブルでクエリを作成します。
  10. 入出庫テーブルのレポートを作成します。
  11. メニューフォームのレポートを開くVBAと、Accessを終了するVBAを作成します。

関連する「Access 備品管理のテーブル|マスターと入出庫のクエリを作成」も参照してください。


スポンサーリンク



在庫管理のテンプレートの作成方法

在庫管理 操作画面

メニューフォーム

下記の5個のボタンを配置しています。

  • 部品マスター入力フォームとレポート印刷ボタン
  • 部品入出庫入力フォームとレポート印刷ボタン
  • Accessの終了ボタン


部品マスター入力フォーム

ここでは部品マスターテーブルを、データシートの形式にしています。
入力方法はテーブルの操作と同じです。
マスターデータは、操作する頻度は高くないので、このような簡単なものにしています。



部品マスターレポート

全レコードをA4用紙に印刷します。



入出庫入力フォーム

  1. コンボボックスで部品IDを選択します。
    選択すると右のテキストボックスに、部品コード・部品名・単価・在庫数が表示されます。
    コンボボックスの部品IDだけの表示だと、どんな部品かわかりずらいので、このように残りのデータを表示するようにすると入力ミスが防止できます。
  2. 入庫日・入庫数、出庫日・出庫数を入力します。
    どちらかでもOKですし、両方でもOKです。
  3. 保存ボタンをクリックすると、部品マスターの在庫数に反映します。


入出庫レポート

入出庫テーブルの全レコードをA4用紙に印刷します。



在庫管理データベースの構成

下記の構成になっています。

■テーブル

  • T入出庫
  • T部品マスター

■クエリ

  • Q入出庫

■フォーム

  • Fメニュー
  • F入出庫
  • F部品マスター

■レポート

  • R入出庫
  • R部品マスター


T部品マスターのフィールド

  • 部品ID:(主キー)オートナンバー型
  • 部品コード:短いテキスト
  • 部品名:短いテキスト
  • 単価:通貨型
  • 在庫数:数値型


T入出庫テーブルのフィールド

  • 部品ID:数値型
  • 入庫日:日付/時刻型
  • 入庫数:数値型
  • 出庫日:日付/時刻型
  • 出庫数:数値型


Q入出庫クエリ

2つのテーブルを配置すると、自動的に部品IDフィールドで接続できます。
単価と在庫数を除いたフィールドになっています。



フォームとレポートのデザイン

F入出庫フォーム

  • レコードソースにT入出庫テーブルを設定しています。
    データ入力するテキストボックスのコントロールソースに各フィールドを設定しています。
  • 右のグレイ背景のテキストボックスには、コンボボックスで選択されたリストのデータを表示します。
    コントロールソースは、=[部品ID].[Column](1~4)になります。


R入出庫レポート

リボンのレポートで自動で作成し、それをカスタマイズしています。



R部品マスターレポート

リボンのレポートで自動で作成し、それをカスタマイズしています。



フォームのVBA

FメニューフォームのVBA

各ボタンのクリックイベントにVBAを入力しています。
フォームの表示は、DoCmd.OpenFormで行い、自身のフォームを非表示します。
レポートの表示は、DoCmd.OpenReportで行います。

Option Compare Database

Private Sub コマンド0_Click()
    DoCmd.OpenForm “F部品マスター”, acFormDS
    Me.Visible = False
End Sub

Private Sub コマンド1_Click()
    DoCmd.OpenForm “F入出庫”
    Me.Visible = False
End Sub

Private Sub コマンド2_Click()
    DoCmd.Quit
End Sub

Private Sub コマンド3_Click()
    DoCmd.OpenReport “R部品マスター”, acViewPreview
End Sub

Private Sub コマンド4_Click()
    DoCmd.OpenReport “R入出庫”, acViewPreview
End Sub



F入出庫フォームのVBA

コマンド21 イベントの在庫数はSQLのUPDATE文で更新しています。 WHERE句で部品マスターのレコードを指定しています。 計算は選択された部品の「在庫数+入庫数=出庫数」になります。 更新後、新規レコードに移動することで、次のデータを入力できるようになります。 新規レコードへ移動するVBAは、DoCmd.GoToRecord , , acNewRec です。

Option Compare Database

Private Sub Form_Load()
    DoCmd.GoToRecord , , acNewRec
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Forms(“Fメニュー”).Visible = True
End Sub

Private Sub コマンド16_Click()
    DoCmd.Close acForm, Me.Name
End Sub

Private Sub コマンド21_Click()
    Dim n1 As Long
    Dim SQL As String

    If IsNull(Me![部品ID]) Then
        MsgBox “部品IDを入力してください。”
        Exit Sub
    End If

    n1 = Me![テキスト19] + Me![入庫数] ? Me![出庫数]

    SQL = “UPDATE T部品マスター SET 在庫数=” & n1 & ” WHERE 部品ID=” & Me![部品ID]
    CurrentDb.Execute SQL, dbFailOnError

    DoCmd.GoToRecord , , acNewRec
End Sub



F部品マスターのVBA

部品マスターロード時に、非表示にしたメニューフォームを表示します。

Option Compare Database

Private Sub Form_Unload(Cancel As Integer)
    Forms(“Fメニュー”).Visible = True
End Sub




サンプル データベース : 無料ダウンロード

ダウンロードし使用状況に合わせて、Accessで自由にカスタマイズしご利用ください。


スポンサーリンク


Homeへ > テンプレートのメニューへ

Copyright (c) Microsoft-Access.net All rights reserved.