例として、食品を使用しましょう。MSアクセスフォーム:最初のコンボボックスの値を使用して、2番目のコンボボックスのオプションをフィルタリングしますか?
表:食品
ID || Type || Name
1 || Fruit || Apple
2 || Fruit || Orange
3 || Veggie || Pea
4 || Veggie || Corn
コンボボックス1:TypeCB
行ソース(SQL):
SELECT DISTINCT
Count([Food].ID) AS CountOfID,
[Food].Type
FROM [Food]
ORDER BY [Food].Type;
(私は "CountofID" を使う理由は、独自のを取得していますIDの値が一意であるため、値を入力します。それ以外の場合は繰り返します)
これは最初は完璧に機能しますが、次のComboBoxに値をプルしようとすると、2番目のコンボボックスは空のままです。塗りつぶした最初のコンボボックスでフォームをリフレッシュしても、修正されません。
コンボボックス2:NameCB
行ソース(SQL):
SELECT
Count([Food].ID) AS CountOfID,
[Food].Name
FROM [Food]
HAVING ((([Food].Type)=[Forms]![Food Form]![TypeCB].[SelText]));
は、このデータをつかむために別の/より良い方法はありますか?
なぜこれらのクエリにCountを含めるのですか? Distinctを返すだけでよいわけではありません。最初のコンボボックスの値がCountの場合、これは2番目のコンボボックスのフィルタ条件としては役に立たない。私はSelTextプロパティがこのように使用されるのを見たことがありません。私はおそらくそれを削除する必要がありますと思います。 – June7