PR

Accessによる在庫管理 その6 入力データの閲覧方法

VBA

これまで作成してきた在庫管理データベースでは、入力したデータの内容を即時確認することが出来ません。そこで、今回は、フォーム上に入力データの閲覧ができるように、クエリ画面を表示するように設定をします。この際に、データ削除、更新ができないような設定も行いたいと思います。

スポンサーリンク

入庫データ閲覧用クエリの作成

クエリの作成方法については、以前に紹介していますので、そちらの記事をご参照ください。

まずは、クエリデザインで「T_入庫テーブル」、「T_品目マスタ」及び「T_担当者マスタ」を追加します。次に、「T_入庫テーブル」の「品名」フィールドと「T_品目マスタ」の「品目ID」フィールドを、また、「T_入庫テーブル」の「担当者」フィールドと「T_担当者マスタ」の「担当者ID」フィールドでリレーションをかけます。そして、データ閲覧に必要なフィールドを設定します(図1参照)。なお、作成したクエリの名称は「Q_入庫データ閲覧用」としました。

図1 入庫データ閲覧用クエリの作成

さて、作成したクエリでは、実はレコードの削除、データの更新が容易にできてしまいます。悪意あるユーザーがデータを改ざんしようとすると簡単に処理をすることができてしまいます。そこで、今回作成したクエリは閲覧のみの設定にします。

クエリのプロパティシートを開き、「レコードセット」プロパティの値を「ダイナセット」から「スナップショット」に切り替えます。これで、このクエリは読み取り専用となります。

図2 スナップショットの設定

出庫データ閲覧用クエリの作成

入庫データと同様に、出庫データ閲覧用クエリを作成します。先に作成した「Q_入庫データ閲覧用クエリ」をコピーし、「Q_出庫データ閲覧用」とリネームします。次に、クエリデザインのテーブルの追加で「T_出庫テーブル」を加え、「入庫数」フィールドを「出庫数」に、「入庫年月日」フィールドを「出庫年月日」とします。また、これらフィールドの参照テーブルを「T_出庫テーブル」に変更します。以上の操作で、「Q_出庫データ閲覧用」クエリの出来上がりです(図3参照)。 なお、作成したクエリは閲覧専用の設定が継承されていると思います。

図3 出庫データ閲覧用クエリの作成

閲覧画面の設定

ここからは、データ入力画面である「F_メイン」に先ほど作成したクエリを閲覧できるように設定します。

まず、図4に示すようにフォームデザインツールで「サブフォーム/サブレポート」を選択し、クエリを表示する領域を設定します。そして、設定したオブジェクトのプロパティシートを開き、「ソースオブジェクト」プロパティに「クエリ.Q_入庫データ閲覧用」と設定します。
同様に、もう一つオブジェクトを設定し、こちらの「ソースオブジェクト」プロパティには「クエリ.Q_出庫データ閲覧用」と設定します。

図4 クエリ閲覧画面の設定

以上により、入庫データ、出庫データを閲覧できる画面系の設定ができました。

データ登録後の画面更新: Requery

ここまでで画面系でデータを確認できるようになりました。しかしながら、このままではデータを登録しても、即時に画面系にデータが反映されませんので、VBAソースコード(cmd_入庫処理_clickプロシージャ及びcmd_出庫処理_clickプロシージャ)の「MsgBox ”処理を完了しましたの。”」と記載されている1行前に、以下のコードを追加します。

Me.Requery

このコードは、クエリの情報を更新させるという意味合いを持っています。
これにより、レコードが追加されると画面系も更新された情報が反映されるようになります。

まとめ

今回は、登録したデータを画面系で確認できるようにクエリを作成し、フォームに挿入しました。図5が実際の閲覧画面例になります。

図5 レコード確認画面の追加

このように、レコード情報を常に確認できるようにすることは、業務効率を飛躍的に改善する効果がありますので、是非機能系に盛り込んでいただければと思います。

次回は、登録したレコードの削除方法について紹介します。

スポンサーリンク

Kindle Unlimitedにサインアップして無料体験に登録する
Kindle Unlimitedに登録すると、人気のシリーズ、ベストセラー、名作などに好きなだけアクセスして、シームレスなデジタル読書体験を実現できます。

コメント

  1. tomo より:

    すいません。
    Me.requer
    を追加しましたが、サブクエリーの表示が更新されないんです。
    どうしてなんでしょう・
    その他の動きは問題ないんですけど。

  2. tomo より:

    Me.Requery の間違いです。

    • Asuma より:

      コメントをありがとうございます。
      ご質問の内容については実際のコード等を見てみないと、どこに原因があるかが分かりませんので
      対応方法については改めて当方よりご連絡をさせていただきます。

タイトルとURLをコピーしました