Google検索

リンクユニット

Windows Xp & Office2003 Access2003

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

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

入力フォームなどで、よく絞り込みは使いますね。

たとえば、営業部を選択すると、営業部の人の名前だけを表示、総務部を選択すると、総務部の人の名前だけを表示できるというような・・下のようなコンボボックスです。

フォーム

フォーム

テーブルの確認

上のような絞込みの作り方です。テーブル1は、下のように作成しました。

テーブル

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

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

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

コントロールウィザード

コンボボックスのプロパティを開きます。値集合ソースに[テーブル1]を指定します。

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

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

このように設定すると、2列目だけが表示されるようになります。

値集合ソース

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

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

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

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

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

ユニオンクエリ

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

ビルドボタン

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

クエリ選択

[抽出条件]に下のように記述します。

半角のカギカッコは自動的に表示されます。

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

並べ替え 昇順

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

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

列幅等も入力します。

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

列幅

再クエリ

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

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

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

コンボボックス2

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

イベント 更新後処理

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

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

コードビルダ

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

[イベント]タブに下のように[イベントプロシージャ]と表示されていると思います。

更新後処理

これでできるはずです♪

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

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

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

関連Access2013でも解説しています。Access2007以降であれば、以下の記事のほうが分かりやすいと思います。

コンボボックスに重複しないデータを表示する

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

続きを見る

おすすめ記事と広告

-Windows Xp & Office2003 Access2003

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

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