2016
8
05

Accessでサブフォームのコンボボックスをカテゴリーで絞り込む

Accessの勉強メモも書くことにしました。サブフォームに商品を入力するときに商品群が多いと選びにくいのでカテゴリーで絞込を行います。Access2016です。


設定

160805-1

例としてこんな商品群があって、

160805-2

別テーブルでカテゴリー情報を持っていたとして、

160805-3

各コントロールの名称は、こんな感じだとします。

コード

親フォームにある「カテゴリー」というコンボボックスはテーブルに影響を与えるわけじゃないので非連結コントロールです。プロパティシートの「値集合タイプ」を「テーブル/クエリ」にして、「値集合ソース」に

と、書いておきます。

その後、親フォームの「カテゴリークリア」ボタンを右クリックして、「イベントのビルド」から「コードビルダー」を選択してVBE画面を出します。

VBEの左上のプロジェクトウィンドウの「Form_販売データ」がアクティブになっていて、コード画面に以下のコードが出てます。

「カテゴリークリア」をクリックした時、というのが既に書かれてます。この中身を、以下のように書きます。ついでに「カテゴリー」コンボボックスが変更されたときの動作も書いちゃいます。

サブフォーム内の「商品ID」というコンボボックスのソースにSQL文を設定します。クリアしたときは条件なしで全表示、変更された時はコンボボックスの値で商品IDを絞り込みます。

サブフォームコントロール名はサブフォームの名前ではなくサブフォームが埋め込まれているコントロールの名前だということに注意してください。

サブフォームを選択してプロパティシートを見たとき、「その他」タブの「名前」に表示されてるやつです。「ソースオブジェクト」とは違います。

動作

160805-4

サブフォーム内の「商品ID」コンボボックスを開いてみると、全商品が表示されてます。

160805-5

親フォームの「カテゴリー」コンボボックスを変更します。

160805-6

もう一度サブフォーム内の「商品ID」コンボボックスを開くと、「カテゴリー」で絞りこまれています。「カテゴリークリア」ボタンを押すと、また全表示になります。

書籍を執筆しました。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 618
  • RSSを登録

公開日:2016/08/05


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top