コンボボックスにSQLのSELECT文を使用し他のテーブルを参照する-Access

コンボボックスの値集合ソースにクエリではなく、直接SQLのSELECT文を指定し使用します。並べ替え・抽出・複数列表示の設定も行います。

コンボボックスで選択するフォームの作成手順

  1. デザインビューでフォームを作成します。
  2. コンボボックスを配置します。
  3. コンボボックスの値集合ソースにSELECT文を設定します。
  4. ORDER BYを追加し並べ替えを行います。 同時にコンボボックスを複数列表示に変更します。
  5. WHEREを追加し抽出を行います。
BackHomeへ Backコントロールメニューへ



SQLのSELECT文で、コンボボックスに使用する都道府県の人口が登録されたテーブルです。
都道府県の人口が登録されたテーブル

コンボボックスを使用したフォームの作成

リボンの[作成]~フォームグループの[フォームデザイン]をクリックします。
[フォームデザイン]をクリックする

リボンの[フォーム デザインツール]~[デザイン]から[コンボボックス]を選択し、フォームに配置します。
・ラベルは「都道府県選択」にしました。
・フォントサイズを大きくし、太字に書式を変更しました。
[コンボボックス]を選択しフォームに配置する

コンボボックスを選択した状態で、プロパティの値集合ソースに下記のSELECT文を入力します。
SELECT T_都道府県人口.名, T_都道府県人口.人口 FROM T_都道府県人口
これで、他のテーブルを参照することができます。
値集合ソースにSELECT文を入力する

フォームビューで実行すると、コンボボックスで都道府県名を選択できるようになりました。
コンボボックスで都道府県名を選択できるようになった


SELECT文にORDER BYを追加し並べ替えを行う

ここでは、都道府県名を降順で並べ替えるようにしました。
SELECT T_都道府県人口.名 FROM T_都道府県人口 ORDER BY 名 DESC
最後のDESCが降順を指定しています。
昇順で並べ替える場合は、何も指定しないか、ASCに変更します。

実行結果です。
都道府県名が降順に表示されています。
SELECT文にORDER BYを追加し並べ替えを行う

コンボボックスが複数列表示できるように設定する

フォームデザインでコンボボックスを選択し、プロパティシートを表示します。
1.列数を1から表示する列数に変更します。
2.複数列表示にすると、項目が分からなくなるので列見出しを「はい」に変更します。
3.リスト幅が狭いと、全体の列が見えなくなるので「自動」から幅をCM単位で指定します。幅の長さはデータ長さにもよるので、実際に表示させ見やすい幅に調整します。
コンボボックスが複数列表示できるように設定する

複数列表示に変更したので、表示させるデータもSELECT文に追加します。
SELECT T_都道府県人口.名,T_都道府県人口.人口 FROM T_都道府県人口 ORDER BY 名 DESC
これで名と人口が表示できました。
表示させるデータをSELECT文に追加する

SELECT文にWHEREを追加し抽出する

人口が5000000人を超えるレコードを抽出するようにします。
SELECT T_都道府県人口.名, T_都道府県人口.人口 FROM T_都道府県人口 WHERE T_都道府県人口.人口>5000000 ORDER BY T_都道府県人口.名 DESC
ORDER BYはWHEREの後ろにします。

これで、人口が5000000人を超える都道府県が降順で表示されました。
SELECT文にWHEREを追加し抽出する



BackHomeへ Backコントロールメニューへ

Copyright(C) FeedSoft