PR

Accessで作る購買伝票について その9 フォームの作成

サンプル

これまで8回にわたりデータの入れ物であるテーブル、データ操作等を行うためのクエリについて紹介してきました。第3回目ではテーブルへのデータ入力方法について、第5回目では正規化も考慮したデータ入力後のテーブル構成について示してきました。 今回からは、データを入力するための画面系であるフォームについて紹介します。

スポンサーリンク

フォーム作成方法

さて、これら正規化をしたテーブルにデータを入力する際に、例えば「鈴木さん」のIDが何番だから、この数値をテーブルに登録しようとできるでしょうか?
当然ながら、そのようなデータ入力をすることは非常に困難です。このため、フォームを作成してユーザービリティを確保する必要があるわけです。
今回は、データ入力を容易に、かつテーブルの整合性が取れるようにするための方法を紹介していきたいと思います。

まず、フォームの作成方法は、「作成」タブの「フォームデザイン」アイコンをクリックします。

図1 フォーム作成手順1

フォームデザインの作成画面(デザインビュー)が図2のように開きます。

図2 フォームの作成手順2

ここで、フォームの作成に際しては、Accessに備え付けのツールボックスにある各パーツ(オブジェクト: Accessではラベルやテキストボックス、コンボボックスやチェックボックス等を指します。)を上手く利用することがポイントになります。このフォームでは、T_購買伝票テーブルの情報を入力できるように設定をしていきます。

図3 フォームの作成手順3

図3に示すように、「デザイン」タブの「プロパティシート」アイコンをクリックします。
次に、プロパティシート内の「すべて」タブを選択し、「レコードソース」に「T_購買伝票」テーブルをセットします。これにより、これから作成するフォームは、T_購買伝票テーブルにデータを入力する設定となりました。それでは次に、データをフォームから入力できるように設定をしていきましょう。図4に手順を示します。

図4 フォームの作成手順4

まず、「デザイン」タブの「既存のフィールドの追加」アイコン をクリックすると、T_購買伝票テーブルの各フィールドが示されているフィールドリストが表示されます。ここからフォーム画面にセットしたいフィールド名称をドラッグアンドドロップします。これにより、フォーム上にフィールド名称が記されたラベルとテキストボックス(図4を参考にすると、左側がラベル、右側がテキストボックスです。)がセットされます。

図4に示すように、「管理番号」、「購買担当者」、「発注先名称」、「発注日」のフィールドをフォーム上に設定します。
なお、各テキストボックス、ラベルの位置を揃えるためにはクリックで対象のオブジェクトを選択し、フォームデザインツールの「配置」タブ、「配置」アイコンをクリックし、左揃えや、下揃え等を選択します。今回の場合、ラベルオブジェクト全てを右揃えに、テキストボックスを左揃えとしました。

図5 フォームの作成手順5

このように、フォーム上にラベルやテキストボックスを設定し、データを入力できるようにしていきます。この状態で、画面左の「ホーム」を選択し「表示」アイコンをクリックしてください。

すると、図6に示すようにフォームの表示画面(フォームビュー)が示されます。
Accessでは、フォームビューで各テキストボックス等にデータを入力することで、フォームを介してテーブルにデータを登録することができるようになるわけです。
また、フォームの作成に際してはデザインビューでオブジェクトを設置し、作成した内容を確認するためにフォームビューへの切り替えを行うことも頻繁に行います。
是非、ここで「表示」アイコンによる画面の切り替えを覚えていただければと思います。

図6 フォームの作成手順

なお、図6の画面ではT_購買伝票テーブルの1レコード目が表示されています。レコードを移動する場合は、「◀」や「▶」をクリックします。

しかしながら、図6では購買担当者が「1」となっていたり、発注先名称が「1」となっており、結局テーブルを用いたデータ登録方法と同様の状況になっています。
そこで、これから「購買担当者」フィールドと「発注先名称」フィールドのデータ登録に際しては、実際に氏名や会社名を見ながらデータ入力ができるように設定をしていきます。

スポンサーリンク

マスタテーブルの設定

これまでに「T_担当者マスタ」、「T_取引先マスタ」、「T_商品マスタ」の各マスタテーブルを作成してきました。これらマスタテーブルは、例えば業務担当者が増えた際に、「T_担当者マスタ」に担当者情報を登録したり、取引先が新たに増えた際に、「T_取引先マスタ」に会社名等を登録したりしてデータを蓄積するために用います。そして、データ入力をする際にはこのマスタテーブルを上手く活用することで、入力の手間を減らすことができるようになります。

まずは、デザインビューを開きます。

図7 マスタ設定1

マスタ設定をするためはデータを入力するボックスがコンボボックスでないいけません。そこで。購買担当者テキストボックスを右クリックし、「コントロールの種類の変更」→「コンボボックス」と選択します。この操作により、「購買担当者テキストボックス」は「購買担当者コンボボックス」に変更されます。

図8 マスタ設定2

次に、購買担当者コンボボックスを左クリックします。さらに、画面上部の「デザイン」タブ中「プロパティシート」アイコンをクリックします。これにより、デザインビューの右側にプロパティシートが表示され、購買担当者コンボボックスのプロパティが示されます。
プロパティシートのカーソルを「値集合ソース」の項目まで下げてください。

図9 マスタ設定3

マスタ設定に際しては、既存のテーブルやクエリを参照するか、任意の値を設定するかを決めます。今回の場合は、「T_担当者マスタ」テーブルを設定するため、「値集合タイプ」プロパティを「テーブル/クエリ」とします。そして、「値集合ソース」プロパティは「T_担当者マスタ」を設定します。
ここで、改めてT_担当者マスタのフィールド構成を確認すると、1列目が「担当者ID」、2列目が「担当者氏名」となっていることに注目します。図6で示しましたが、フォームビューにおいて購買担当者テキストボックスの値には「1」が表示されていたと思いますが、これは「担当者ID」フィールドを参照していたのです。そこで、フォーム上では「担当者氏名」を参照できるようにするための設定をします。

購買担当者コンボボックスのプロパティシートを上まで戻し、「列数」プロパティを表示します。
当初はこの値が「1」になっていますが、これはT_担当者マスタの1列目、つまり「担当者ID」フィールドのみを表示することを意味しています。そこで、この値を「2」に変更して「担当者氏名」フィールドまで表示できるようにします。
次に、入力の際には「担当者ID」の表示は不要となりますので、「列幅」プロパティに「0cm; 3.8cm」(文字区切りはセミコロンとなりますので注意してください。)と設定します。これにより、1列目は非表示にし、2列目の表示幅を3.8 cmとして設定することができました。

図10 マスタ設定4

同様の操作を「発注先名称テキストボックス」に対しても行います。まずは、テキストボックスをコンボボックスに変更します。そして、プロパティ設定の際、「値集合ソース」プロパティは「T_取引先マスタ」にしてください。その他の設定内容は、購買担当者のときと同じです。

ここまでの設定ができたら、フォームビューで確認をしてみましょう。

図11 マスタ設定5

いかがでしょうか。担当者氏名や発注先名称が表示されるようになったと思います。
このようにして、データを入力する際には選択をするだけで良くなり、いちいちキーボードでの入力作業をする必要がなくなります。
なお、各マスタテーブルにデータが追加されると、自動的にリストにも反映されますのでデータリソースを効率的に活用することができます。

フォームの作成には様々なノウハウが含まれています。今回紹介した内容の他にも色々な事例を見ていく中で経験値を積んでいくことが大事かと思います。

まとめ

今回は、データ入力画面であるフォームの作成方法と、マスタテーブルの設定について紹介をしました。最初の内は慣れない部分もあるかと思いますが、感覚的にパーツを貼り付けて、動かすことができるため直ぐに思い通りの設定ができるようになると思います。
また、マスタを上手く使うことでデータ入力の手間が省けますので、業務効率の改善につながること間違いなしです。

次回は、フォーム画面の整形について簡単に紹介をしていきます。

スポンサーリンク

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

コメント

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