Access:コンボボックスで検索できるフォームの作成方法

フォーム内に検索用のコンボボックスを配置し、選択したデータをフォームに表示するようにします。 検索値を入力しなくてもいいので、データ量が少ない場合は便利です。

BackHome Backフォーム

コンボボックスで検索できるフォームの作成手順

  1. リボンの[フォーム]を使用し、表示・入力用フォームを作成します。
  2. コンボボックス コントロールを作成したフォーム上に配置します。
  3. ウィザードで検索の設定を行います。



検索フォームの作成方法

表示・入力用フォームの作成

  1. フォームのレコードソースになるテーブルを選択します。
  2. リボンの[作成]~[フォーム]をクリックします。
表示・入力用フォームの作成

これで、表示・入力用フォームが作成できました。

表示・入力用フォームが作成できた

検索用のコンボボックスを追加する

リボンの[フォーム レイアウト ツール]~[デザイン]~コントロールグループの[コンボボックス]を選択し、フォーム上でクリックします。

[コンボボックス]を選択し、フォーム上でクリック


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

「このウィザードは、選択可能な値を表示するコンボボックスを作成します。コンボボックスに表示する値の種類を選択してください」から、[コンボボックスで選択した値に対応するレコードをフォームで検索する]を選択し[次へ]ボタンをクリックします。

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

「コンボボックスの値の取得元となる、(テーブル名)のフィールドを選択します。選択したフィールドは、コンボボックスの列として表示されます。」から、フィールドを選択します。

ここでは、主キーの「商品ID」と「商品コード」を選択しました。

コンボボックスの値の取得元となる、フィールドを選択

「コンボボックスに表示する列の幅を指定してください。 列幅を調整するには、列の右端をドラッグします。また、右端をダブルクリックすると、入力した値の長さに合わせて列幅が自動的に調整されます。」から、列幅を設定し[次へ]ボタンをクリックします。

「コンボボックスに表示する列の幅を指定

「コンボボックスに付けるラベルを指定してください。」から、表示するタイトルを入力し[完了]ボタンをクリックします。

表示するタイトルを入力し[完了]ボタンをクリックする

これで検索用のコンボボックスが追加できました。

検索用のコンボボックスが追加できた

検索用コンボボックスを使用する

フォームビューにし、コンボボックスの▼をクリックすると、選択リストが表示されるので選択します。

検索用コンボボックスを使用する

選択すると、検索し見つかったレコードが表示されます。

検索し見つかったレコードが表示される

コンボボックスで検索できる仕組み

コンボボックスのプロパティを見ると、値集合ソースが「SELECT [T_商品].[商品ID], [T_商品].[商品コード] FROM [T_商品];」になっています。
これは、テーブルから商品IDと商品コードを取り出す選択クエリのSQLコードです。

値集合ソースのプロパティ

次にイベントを見ると、更新後処理イベントに[埋め込みマクロ]が設定されています。
これで、コンボボックスでデータを選択すると、マクロが実行されます。

更新後処理イベントに[埋め込みマクロ]が設定されている

更新後処理に実行されるマクロです。
先頭のレコードから、選択された商品IDを検索するようになっています。

更新後処理に実行されるマクロ

今回はウィザードで設定しましたが、上のように設定することで手動でも作成可能なことが分かります。


BackHome Backフォーム

Copyright(C) FeedSoft