アクセス担当のまみです。
コンボボックスって条件を絞り込む時に使ったりしますね。
1つ目のコンボボックスで条件を絞り込んで、条件に合ったものを2つ目のコンボボックスに表示させる。
1つ目のコンボボックスの表示まではすんなりできるけど、2つ目のコンボボックスにどうやって表示させればいいの?
今回は、2つのコンボボックスを連動させて表示させる方法をお伝えしますね。
Contents
1つ目のコンボボックスに表示
説明のために「営業日報」ファイルを使用しますね。
まずは1つ目のコンボボックスに表示させられないと先に進めないので、1つ目のコンボボックスの表示の方法から!
「営業日報」ファイルを使用して、1つ目のコンボボックスに部課名が表示できるようにしてみましょう。
「F_営業日報」をデザインビューで開いて、2つ目のコンボボックスを作成しましょう。
ラベルのプロパティシート
標題 | 氏名 |
コンボボックスのプロパティシート
名前 | cmb氏名 |
クエリを準備しよう
前回使用した「営業日報」ファイルをそのまま使用して説明しますね。
前回「Q_社員マスター」ってクエリを作成したのですが、そのクエリをちょこっと改造して使っちゃいます。
ビルドを使用する方法は下記の記事をどうぞ!
クエリの準備は以上なので、保存して閉じておきましょう。
コンボボックスを連動させる
では、フォームに戻って、2つ目のコンボボックスの設定をしましょう。
①「cmb氏名」を選択した状態で、プロパティシートの②「データ」タブを選択し、「値集合ソース」で「Q_社員マスター」を選び、「連結列」を「4」にします。
④「cmb部課名」を選択した状態で、⑤「イベント」タブを左クリックし、「更新後処理」で「イベントプロシージャ」を選択してコードを表示させましょう。
「Private Sub cmb部課名_AfterUpdate()」と「End Sub」の間に下記のコードを追加しましょう。
Me!cmb氏名 = "" Me!cmb氏名.Requery
このコードを追加することで、部課名が変更されたら、氏名に入っている値がクリアされて、条件に合う氏名が表示されるようになります。
コードをコピーされたい場合は下記の記事を参考にしてください。
そうそう、たまにどこも間違ってないって思うのに動かないなぁってことがあります。そんな時は 一度フォームを閉じてみる、アクセスを終了させてみる等してみてくださいね。
そうするとちゃんと動いたりします。
「F_営業日報」は保存しておいてくださいね。
まとめ
2つのコンボボックスが連動して動いたらなんだかすごい!
色々な場面で活躍してくれること間違いなしですね。