トップ > スキル : アプリケーション > VBA for Access > 実践編(在庫管理データベースの作成1)
ある食料品販売を行っているお店の在庫の管理をするために、Accessで在庫管理データベースを作ることにします。在庫管理に必要な処理は、倉庫からものを出す(出庫)処理と倉庫へものを入れる(入庫)処理、そして在庫数を調べる(在庫照会)処理が考えられます。
テーブルとしては、在庫テーブルのみが必要で、以下のようなフィールドを設けます。
フィールド名 | データ型 | 説明 |
---|---|---|
商品番号 | テキスト型 | 主キー |
商品名 | テキスト型 | |
単価 | 通貨型 | |
在庫数 | 数値型(長整数型) |
※主キーを「商品番号」フィールドに設定します。
新規ファイルとテーブルの作成
次の操作を行って在庫管理DBファイルで、在庫テーブルを作成します。
① データベースを新規に作成して、名前は「在庫管理DB.accdb」とします。
② 「在庫テーブル」作成します。デザインビューで以下の図のように作成します。

フィールドサイズは、「商品番号」は「3」、「商品名」は「50」に設定します。在庫数は、「長整数型」にします。
③ 「在庫管理DB」ファイルの「在庫.txt」を在庫テーブルにインポートします。

全20件のデータがインポートされます。
「在庫照会フォーム」の作成
商品一覧を表示させる表形式の「在庫照会フォーム」を作成します。
次の操作を行って、「在庫照会フォーム」を作成します。
① [作成」タブを選択して、[フォーム」グループの[その他のフォーム」ボタンをクリックして、[フォームウィザード]でクリックします。
② すべてのフィールドを右側の[選択したフィールド]に追加します。
③ フォームのレイアウトは「表形式」を選択します。
④ デザインは「Access2003」を選択します。
⑤ フォーム名は「在庫照会フォーム」と入力して[完了]ボタンをクリックします。

⑥ 「在庫照会フォーム」をデザインビューに切り替えて、右側にコマンドボタンを配置する領域を作ります。

⑦ 詳細セクションの右側の空いているところに、「出庫ボタン」と[入庫ボタン」のコマンドボタンを作成し、以下のようにプロパティを設定します。
出庫ボタン | 入庫ボタン | |
---|---|---|
標題プロパティ | 出庫 | 入庫 |
名前プロパティ | 出庫ボタン | 入庫ボタン |

これで、在庫照会フォームが完成しました。次に、「出庫」ボタン、「入庫」ボタンをクリックしたとき表示される、出庫の処理用の「出庫処理フォーム」、入庫の処理用の「入庫処理フォーム」を作成します。
「出庫処理フォーム」の作成
在庫テーブルを基に、出庫数を入力するためのフォームを作成します。
次の操作を行って、「出庫処理フォーム」を作成します。
① [作成」タブを選択して、[フォーム」グループの[その他のフォーム」ボタンをクリックして、[フォームウィザード]でクリックします。
② すべてのフィールドを右側の[選択したフィールド]に追加します。
③ フォームのレイアウトは「単票形式」を選択します。
④ デザインは「Access2003」を選択します。
⑤ フォーム名は「出庫処理フォーム」と入力して[完了]ボタンをクリックします。
⑥ デザインビューに切り替えて、図のようにレイアウトを変更します。

⑦ 出庫数入力用のテキストボックスを作ります。出庫入力用に非連結のテキストボックスを作り、テキストボックスの名前プロパティは「数量」と設定します。また、そのテキストボックスの上にラベル「出庫する数を入力してください」を作成します。

⑧ 後から作成する入庫フォームと区別しやすいように、フォームの背景色を変えます。色は任意です。

⑨ 入力した数量を現在庫数から引き当てるためのコマンドボタンを作成します。ここでは、何もせずに「出庫処理フォーム」を閉じる「Cancel」ボタンと、数式を引き算して閉じる「OK」ボタンを用意します。また、以下のように各コマンドボタンの標題と名前のプロパティを設定します。
OKボタン | Cancelボタン | |
---|---|---|
標題プロパティ | OK | Cancel |
名前プロパティ | OKボタン | キャンセルボタン |

⑩ キャンセルボタンにイベントプロシージャを作成します。キャンセルボタンを選択して、[プロパティシート]を表示し、[イベント]タブを選択します。

⑪ [イベント」タブの[クリック時]プロパティを選択し、 ビルドボタンをクリックし、[コードビルダ」を選択して[OK]ボタンをクリックします。

⑫ VBE画面が起動して、「Private Sub キャンセルボタン_Click()」プロシージャが表示されます。次のようなコードを入力します。

⑬ 次に、同じような手順で[OK]ボタンのコードを入力します。Accessに切り替え、[OK]ボタンをクリックして、プロパティシートの[イベント」タブの[クリック時]を選択します。そして、[コードビュー]を選択して、次のようなコードをVBE画面で入力します。

⑭ フォームの書式を変更します。[フォーム」のプロパティシートを表示させ、[書式]タブを選択します。[レコードセレクタ]、[移動ボタン]プロパティを「いいえ」に設定します。また、必要に応じて[スクロールバー]プロパティは「なし」を設定します。

以上で、出庫処理フォームは完成です。上書き保存をして、閉じます。