Access

コンボボックスで複数列表示させる(Access)

2019年9月14日

Accessのコンボボックスで複数列表示させたいですよね。

コンボボックス-列数1

上記は私が作成した在庫管理システムの一部ですが、最初は社員コード1列しか表示されませんでした。コードだけだ名前がとわかりませんよね。

あわせて読みたい
めいあんのIT格闘記
簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)

必要に迫られてAccessにて在庫管理・在庫検索・入出庫処理・入出庫履歴・在庫転送・単位変換、マスターデータの修正等々を装備したデータベースを構築しました。フォーム(分割フォームやサブフォーム)・クエリ・VBAを使っています。

続きを見る

列数を変更

コンボボックスのプロパティシートにて列数を2列にします。列幅も1列目、2列めのサイズに応じて書き換えます。

コンボボックス-プロパティシート列数

コンボボックスで複数列表示させる(Access)

値集合ソース

このコンボボックスを表示させるテーブル(社員)は下記の通りです。

IDオートナンバー型
社員コード数値型
社員テキスト型
所属テキスト型
削除 Yes/No型

このテーブルをコンボボックスのプロパティシートに反映させます。データタブの値集合ソースに

と記載します。ORDER BY 社員.社員コードORDER BY 社員.社員とすれば社員名の昇順に変更されます。

コンボボックス-プロパティシート値集合ソース

結果

コンボボックス-列数2

社員コードと社員名の2列で表示できました。さらに3列以上も同様にして増やしていけます。

コンボボックスウィザードを使用した場合の注意

コンボボックスウィザードにてテーブルやクエリからフィールドを選択して同様に作り表示することができます。

しかし、コンボボックスの中身(.value)が「ID」になっていることがありませんか?ウィザードの時に「ID」を除外した筈ですが・・・

コンボボックスウィザード

コンボボックスのプロパティシートから「値集合ソース」を見てみると、

さらに

コンボボックスウィザード-プロパティ

「列数」が「3」になっていて、列幅が「0cm;2.54cm;2.54cm」になっています。

「値集合ソース」から「[T_社員].[ID],」を削除して⇩

とし、列幅を「2」に、列幅から「0cm;」を消せばコンボボックスの値に「ID」ではない値(上記例では社員コード)が入ります。

ORDER BY [社員コード]は社員コードを昇順で表示するという意味ですのでなくても構いません

-Access
-, , , , , ,

Please disable your adblocker or whitelist this site!