Windows XP & Office 2003 Access 2003

コンボボックスの絞り込み

投稿日:2017年1月7日 更新日:

入力フォームなどで、コンボボックスの絞り込みはよく使いますね。2つのコンボボックスが連結して動作します。

たとえば、1つ目のコンボボックスで[営業部]を選択すると、2つ目のコンボボックスには、営業部の人の名前だけを表示します。

1つ目のコンボボックスで[総務部]を選択すると、2つ目のコンボボックスには、総務部の人の名前だけを表示できるというようなコンボボックスです。

フォーム

フォーム

参考Access2013でも解説しています。Access2007以降であれば、以下の記事のほうが分かりやすいと思います。コンボボックスを使用してレコードを抽出します。

コンボボックスに重複しないデータを表示して絞り込み

Accessでコンボボックスを使用してレコードを抽出する方法はいくつかありますが、テーブル内の重複しないデータをコンボボックスに表示して作成 ...

続きを見る

テーブルの確認


絞込みコンボボックスの作り方です。

テーブル1は、以下のように作成しています。

テーブル

1つ目のコンボボックスの作成

フォームをデザインビューで開いて、ツールボックスのコンボボックスを使って1つ目のコンボボックスを作ります。

[コントロールウィザード]をオンにして、ウイザードから作ってもいいですけど、ウィザードは使わなくもいいと思います。

ここでは、オフにしています。

コントロールウィザード

コンボボックスのプロパティを開きます。

[値集合ソース]に[テーブル1]を指定します。

[列幅]、[連結列]なども下の画像を参考にしてください。

プロパティで列幅を[0;3]と入力すると、自動的に下の画像のように[0cm;3cm]となります。

このように設定すると、コンボボックスには2列目だけが表示されるようになります。

コンボボックスの名前は、[コンボ0]です。

コンボボックスのプロパティ[値集合ソース]

これで1つ目のコンボボックスができたはずです。

フォームビューに切り替えて確かめてみるといいですね。

2つ目のコンボボックスの作成

2つ目のコンボボックスを上記と同じように作成します。

2つのテーブルをくっつけたいで作成したユニオンクエリ[クエリ1]を使います。

ユニオンクエリ

2つ目のコンボボックス[コンボ2]の[値集合ソース]のビルドボタン[…]をクリックします。

ビルドボタン

[テーブルの表示]から[クエリ1]を選択してダブルクリックします。

クエリ選択

クエリの[所属]フィールドの[抽出条件]に下のように記述します。

[forms]![フォーム]![コンボ0]

半角の角括弧は自動的に表示されます。

フィールド[担当]の並べ替えで[昇順]を選択しておくと、便利だと思います。

並べ替え 昇順

クエリビルダを閉じます。

[SQL ステートメントの変更を保存し、プロパティの設定を更新しますか?]のメッセージが表示されたら[はい]をクリックします。

プロパティで[列幅]なども入力します。

[列幅]には[3cm;0cm]と入力して、[担当]を表示して[所属]を非表示にします。

コンボボックスのプロパティ[列幅]

参考ユニオンクエリについては、以下の記事でも解説しています。

ユニオンクエリ(複数のテーブルを結合)をコピーと貼付で簡単作成

Accessには、複数のテーブルやクエリのレコードを結び付けて、1つのクエリにする[ユニオンクエリ]という機能があります。 ユニオンクエリは ...

続きを見る

再クエリ

最後に1つ目のコンボボックスで選択し直したら、2つ目のコンボボックスの絞込みをし直すために、1つ目のコンボボックスで再クエリをします。

[再クエリ]については、Blogの再クエリを参照してください。

[コンボ2]のプロパティを表示したまま、上部の▼をクリックして、[コンボ0]を選択して切り替えます。

コンボボックス2

[コンボ0]の[イベント]タブから[更新後処理]のビルドボタン[…]をクリックします。

[イベント]タブの[更新後処理]

[ビルダの選択]から[コードビルダ]を選択して[OK]ボタンをクリックします。

赤線の部分を入力します。

Me!コンボ2.Requery

コードビルダ

VBEウィンドウを閉じます。

[イベント]タブの[更新後処理]には、以下のように[イベントプロシージャ]と表示されていると思います。

更新後処理

これでできるはずです♪

ビューを切り替えて、確かめてみてくださいね。

絞込みを作成する場合、よく躓くのが[連結列]プロパティなんですね。私もひっかかりました。(^^ゞ

連結列で解説しています。

関連Excelでは入力規則と関数を使って、リストの中から一つ選択すると、次のリストは前のリストに該当する内容の中からしか選択できないようにすることができます。

データの入力規則を使った絞り込みリストの作成

Excelでは入力規則と関数を使って、リストの中から一つ選択すると、次のリストは前のリストに該当する内容の中からしか選択できないようにするこ ...

続きを見る

参考検索用のコンボボックスは、ウィザードを使って簡単に作成できます。

ウィザードを使って検索用コンボボックスを簡単作成

Accessのフォームで検索用コンボボックスを作成する方法です。 コンボボックス作成ウィザードを使って簡単に作成することができます。 テーブ ...

続きを見る

コンボボックス内にカーソルをおくだけで、リストを表示するようにもできます。

コンボボックス内にカーソルを置いてリストを表示するには

Accessの入力フォームでコンボボックスを使うことは多いと思います。 コンボボックスって、▼ボタンを押してリストを表示しますが、コンボボッ ...

続きを見る

以下は、コンボボックスに関する主な記事です。

コンボボックスでレコードの抽出

Accessの分割フォームのデータシートビューには、Excelのフィルターと同じようにフィルターボタンがあり、Excelの操作と同じように様 ...

続きを見る

コンボボックスの2列目の値を取得

Accessのフォームでコンボボックスの2列目の値を取得する方法です。 参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定 ...

続きを見る

バージョンの確認

もっと理解したいあなたへ

おすすめ記事と広告

Profile

執筆者/はま

-Windows XP & Office 2003 Access 2003

Copyright © 2001-2021 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2021 AllRights Reserved Powered by AFFINGER4.