サイタパソコン教室・IT資格マイクロソフトOffice(オフィス)使い方講座Access 東京 AccessPro大親切スクール レッスンノート コンボボックスの作成

コンボボックスの作成

Access(アクセス)使い方講座のレッスンノート

レッスンノートって?レッスンノートって?

受講のために遠くから来京していただきありがとうございます。東京はまだコロナが蔓延している状況ですので、レッスン受講にも気後れされたことと思います。

今回は受注管理システムのフォーム作成の続きを行いました。
受注伝票のヘッダー部分に表示する「得意先」などをマスタテーブルから引用するコンボボックスを作成しました。

コンボボックスには、データの格納フィールドを指定する「コントロールソース」と、リスト表示のためのマスタデータを指定する「値集合ソース」の他に、3つの重要な設定要素があります。

1. 連結列プロパティ
 テーブルに実際に入力する値を値集合ソースのどのフィールドにするかという設定

2. 列数プロパティ、列幅プロパティ
 コンボボックスのプルダウンリストに値集合ソースのどの列を表示させるかの指定

3. 列幅プロパティ
 プルダウンリストから値を選択した後、コンボボックスに値集合ソースのどの列を表示させるかの指定

2.では値集合ソースの最左列から列数プロパティに指定した分の列が表示されます。また、列幅プロパティでは表示幅をcmの単位でセミコロンで区切って指定しますが、0指定した列は表示されません。例えば1cm;0cm;1cmのようにすると2列目は表示されません。

3.の列幅プロパティには、0を超える値を指定した列のうちの一番左のものを、コンボボックスに表示させるという重要な役割があります。列幅プロパティというのは単にプルダウンリストの幅を設定するためだけのものではないというところがポイントです。

値集合ソースのSELECT文に続くフィールド名の順序と、列数、列幅、連結列をうまく設定すると、テーブルには「得意先ID」が入力され、フォーム上には「得意先名」が表示されるというように、入力と表示を分けて設定することができます。
このあたりの組合わせはなかなか複雑ですので、お渡ししたテキストで確認しながら、他の項目で繰り返し試してみてください。

なお、コンボボックスを作るときはウィザードボタンを押してからコントロールを新規に配置するととりあえずのものが出来上がりますので、ウィザードボタンを活用してください。そしてこの段階で一度、コンボボックスでリストを表示させてみて、リストの並びや表示、入力値をどのようにしたいかを考えます。
その後で、上に書いた各プロパティの手動設定を行うようにします。

取り組んでおられるシステムは、現在使用中のデータを活用するものですので、データのインポートや、テーブル構成の変更などがいろいろ発生します。
既存のシステムでは、特にExcelを併用しているような場合には、データの重複も多く、Access用のシステム仕様にはなっていませんので、更新クエリなどを使って、データ整備を行う必要が多く出てきます。

今回のレッスンでも数ヶ所のフィールドで削除や移行を行いました。この時に必要となるのは「テーブル正規化」というデータベースを扱うための理解です。
今回は時間の関係もあって、各テーブルを見ながら、これは余計、これはこちらに、というように私が主導してやってしまいましたが、「テーブル正規化」について学ばれると、そのような見通しがご自分で立てられるようになりますので、サイタでのレッスンはこれで終わりになると思いますが、またご連絡いただければと思います。
このレッスンノートを書いたコーチ

重要な操作を効率よくレクチャー。データベースの基礎~VBAまで

新着レッスンノート

受講のために遠くから来京していただきありがとうございます。東京はまだコロナが蔓延している状況ですので、レッスン受講にも気後れされたことと思います。 今回は受注管理システムのフォーム作成の続きを行いました。 受注伝票のヘッダー部分に表示する「得意先」などをマスタテーブルから引用するコンボ...

名簿を管理するシステム作成の続きです。FileMakerProからデータを移行し、その後ご自身でカード型フォームにコンボボックスを置いて検索する仕組みを作成して、すでに現場で運用を始めているとのことです。機能としてはまだ不十分なものの実際に使えているということです! 今回はDatedif...

受注、加工、在庫を管理している現行システムの代わりとなるものをAccessで作成したいとのご要望です。前回までのレッスンでクエリ操作の全般を終えていますので、今後はレッスンで学んできたことを確認しながら実際のシステムを作成していきたいと思います。 受注伝票に関係するテーブルを作成しました...

前回からリレーショナルなデータを扱う上で欠かせないデータ間の関係について学んできました。今回はやや難しい多対多結合を確認しました。 一対多関係では、マスタデータ同士での一対多、トランザクションデータ同士での一対多、マスタデータとトランザクションデータ間での一対多を確認しましたが、それと同...

期間が空きましたがレッスン再開です。前回までに主に1つのテーブルを対象としたクエリ操作を終えましたので、今回からは2つのテーブルを横につなぐ結合クエリのレッスンに入ります。 Accessでは操作する対象を意識することが理解の早道です。1つのテーブルを扱う、あるいは2つのテーブルを縦に結合...

レッスンノート ページ先頭へ