Microsoft Access 掲示板

複数のコンボボックスの取り扱いについて

2 コメント
views
4 フォロー

Access勉強中のものです。失礼いたします。
同じ値を参照している複数のコンボボックスを使用する際、
選択した値が他のボックスでは非表示になるようにするには
どのような方法がありますか?ぜひ教えてください。
よろしくお願いいたします。

ベベネコ
作成: 2023/08/09 (水) 14:40:00
通報 ...
1
hatena 2023/08/09 (水) 15:50:38 修正

コンボボックスの値集合ソースをクエリにして、抽出条件で他のコンボボックスの値を除去するようにすればいいでしょう。
さらに、VBAかマクロでコンボボックスのフォーカス取得時に自身を再クエリするようにします。

例えば、コンボ1、コンボ2、コンボ3 とあって、
リストに、テーブル1 の フィールド1 のデータが表示されているとして、

コンボ1の値集合ソースを下記のように設定します。

SELECT フィールド1 FROM テーブル1 WHERE フィールド1<>[コンボ2] AND フィールド1<>[コンボ3]; 

フォーカス取得時のイベントプロシージャに下記のコードを記述

Private Sub コンボ1_Enter()
    Me.コンボ1.Requery
End Sub

コンボ2、コンボ3 も同様に設定します。

2
ベベネコ 2023/08/10 (木) 15:09:08 ad10d@5908c >> 1

ご対応ありがとうございます。
とても参考になりました。実際に設定してみます。