2017-06-28 5 views
0

からparameterfとフォームの行ソースを設定私は、Access 2010で次のテーブルを持つデータベースを持っている:MSアクセス2010が別の要素

TblServices [ServiceCountry,ServiceName] 

TblServiceCountry [CountryID,CountryName] 

TblServiceList[ListID,ListName,ListCountry] 
  • ServiceCountryはTblServiceCountryからの値を持つコンボボックスです。
  • ServiceNameはTblServiceListの値を持つコンボボックスです
  • ListCountryはTblServiceCountryの値を持つコンボボックスです。
  • ListCountryは必須フィールドではありません。

私はそのレコードのListCountry nullまたはListCountry = ServiceCountryを持っていますが、運を持つ唯一のListNameを取るためにSERVICENAMEの行ソースを取得するためにtblServicesから作られた形で複数のクエリを試してみました。

SQLクエリ:Select DISTINCT ListID, ListName From ServiceList, Services Where (IsNull(ListCountry)<>False AND (IsNull(ListCountry)<>False OR ListCountry=ServiceCountry);

例: ServiceList:

ListID | ListName   | ListCountry 
1  | Tax Service | NULL 
2  | Clean Service | Italy 
3  | Food Service | USA 
  • ServiceCountry =イタリアの場合のみ1と2のListNameが表示されるはずです。
  • ServiceCountry = USAの場合、ListNameは1と3だけ表示されます。
  • ServiceCountry = Brazilの場合、ListNameは1つだけ表示されます。

私はAccessで新しくなっていますので、助けてください!ありがとうございました!

+0

編集VBAコードだけでなく、関連する値集合ソースのSQL文を投稿するあなたの質問。 – June7

+0

ありがとう!私は投稿を編集しました。私は試しましたが、何も働かなかったので、VBAコードはありません。 – Adina

答えて

0

OR演算とTblServiceListのみが必要です。 cbxCountryのように、フィールドと異なるServiceCountryのコンボボックスに名前を付けることを提案してください。

TblServiceListはIDではなくサービスと国の実際の説明テキストを保存していますか?実際にフィールドにNULLという単語はありませんか? ListNameの記述テキストを保存する場合は、ListIDは必要ありません。 ListIDを保存する場合、DISTINCTは無意味です。

試してみてください。

Select DISTINCT ListName From TblServiceList Where ListCountry Is Null OR ListCountry LIKE [cbxCountry] & "*";

+0

この度はありがとうございました!国のコンボボックスは、他のクエリで使用しているIDを保存します。 – Adina

+0

cbxCountryの値がCountryIDの場合、ワイルドカードは正しく機能しません。 – June7

関連する問題