2017-08-20 41 views
-1

に基づく:選択は、私は次のような構造を持つ3つのテーブルを持っていたレコード

Table1: Cat 
Fields: Cat0 Cat1 
Record 1: A 
Record 2: B 
Record 3: C 
Record 4: D 

Table2: CatB 
Fields: Option 
Record 1: X 
Record 2: Y 

Table3: CatD 
Fields: Option 
Record 1: 1 
Record 2: 2 
CAT0がある場合CAT0は、
CAT1はCATDにルックアップする必要があり、そのレコードにBを持っている場合CAT1は、CATBにルックアップする必要があります

そのレコード内のD

予想される出力は次のとおりです。

Table1: Cat 
Fields: Cat0 Cat1 
Record 1: A NULL 
Record 2: B X or Y (Combo box) 
Record 3: C NULL 
Record 4: D 1 or 2 (Combo box) 

私はMS Accessでルックアップ値を使用しています。

次のコードは、CAT1のルックアップでは動作しません:

SELECT * 
FROM Cat a 
INNER JOIN CatB b on b.Option = a.Cat0 
WHERE a.Cat0 = "B" 
UNION SELECT * 
FROM Cat a 
INNER JOIN CatD d on d.Option = a.Cat0 
WHERE a.Cat0 = "D"; 

はどのようにこれを達成することができますか?

ありがとうございました。

+1

Catには2つのフィールドがありますが、1行につき1つの値しか与えません。 「Cat1がCatBのルックアップオプションを持ち、Cat0がBを持ち、Cat1がCatDのルックアップオプションを持っている場合、Cat0がDを持っている場合はCat1が不明です。あなたが意味することを言うのに十分な文章を使用してください。簡単な文章を使う。明らかに物の部分を参照してください。 google translateを試してください。 [mcve]を読んで行動してください。 – philipxy

+0

質問を編集し、必要な結果を表示します。 –

+0

テーブル内またはフォーム内の参照フィールドを探していますか?テーブル内のルックアップのオプションは実際には限られているためです。 –

答えて

0

私は決してフォーム上でのみテーブル内でルックアップを設定します。クエリという名前のオプションで

正しいUNION文:

代わりにあなたがCATBとCATDオプションのための単一のテーブルを持っていない理由をUNIONに頼ることの
SELECT "B" As Cat, Option FROM CatB 
UNION SELECT "D", Option FROM CatD; 

Table:  Options 
Fields: Cat, Option 
Record 1: B, X 
Record 2: B, Y 
Record 3: D, 1 
Record 4: D, 2 

どちらの場合でも、コンボボックスはRowSourceに条件付きSQL文を持つことができます。
SELECT Option FROM Options WHERE Cat=[Cat0];

あなたがUNIONに固執し、値集合ソースのためのオールインワンのステートメントを使用する場合:CAT1 GotFocusイベントで

SELECT Option FROM (SELECT "B" As Cat, Option FROM CatB 
UNION SELECT "D", Option FROM CatD) AS Options WHERE Cat=[Cat0]; 

とコード:Me.Cat1.Requeryを。

+0

提案と回答に感謝します。私は自分のデータベースに複雑なニーズがなく、シンプルなSharePoint + Accessソリューションを使いたいと思っています。だから、アクセスDBフィールドの検索は問題ありません。 – reservoirinvest

+0

私は 'オプションからオプションを選択しましたWHERE Cat = [Cat0];' CatBとCatDを統合した単一のOptionsテーブルではCat.Cat1に値は表示されません。何かアドバイス? – reservoirinvest

+0

あなたはそれをルックアップのRowSourceとして試しましたか?ドロップダウンリストに項目が表示されていますか? – June7

関連する問題