2013-10-14 65 views
2

我有一個MVF場(我深知,這不是最好的做法),我需要創建一個查詢,它的結果是這樣的:MS Access中使用多值字段查詢

PersonName MVF_Opt_1 MVF_Opt_2 MVF_Opt_3 
Tim   X   X   X 
John        X 
Jake  X      X 

我試圖用一個表達式爲每一個看起來像:

MVF_Opt_1: IIf([Options].[Value] = 1,"X","")

對於每一個我需要查詢的列,但這似乎如果表達式中的選項恰好是第一個值只工作在MVF中。

我也有大約20個選項,不需要列在我可以忽略的列中。

任何想法?

+0

您是否嘗試過的查詢,讓你一個'[選項] [超值]'每行的值,然後餵養到交叉表查詢? – HansUp

+0

@HansUp我不知道關於交叉表查詢知道從哪裏開始。 MS Access特定的SQL對我來說有些新意。 – Ethan

+0

如果您的MS Office版本包含Access,請嘗試Access查詢設計器中的交叉表查詢嚮導。查詢設計者不僅可以幫助您構建交叉表,還可以幫助您使用Access SQL語法。 – HansUp

回答

2

這似乎是爲我工作:

SELECT 
    mvfTest.PersonName, 
    IIf(DCount("*","mvfTest","PersonName=""" & [PersonName] & """ And Options.Value=""1""")=0,"","X") AS MVF_Opt_1, 
    IIf(DCount("*","mvfTest","PersonName=""" & [PersonName] & """ And Options.Value=""2""")=0,"","X") AS MVF_Opt_2 
FROM mvfTest; 
+0

我看到這將如何工作的邏輯,但我似乎無法讓它在我的最終工作。 – Ethan

+0

@Ehan你可以下載一個工作示例[here](http://wikisend.com/download/305666/mvfTest.zip) –