2012-11-29 106 views
2

我有Access 2007查詢。在條件中,如果表單中的過濾器設置爲「查看所有組織」,我需要它選擇所有記錄。但是,我無法讓它工作。標準如下:使用Access查詢中的條件選擇全部

=IIf([Forms]![Reports]![Referrals - Business Filter]="View all organisations","Like '*'") 

該標準一般工作 - 如果我改變「喜歡」*'「爲具體的東西,例如「巴克萊」,那麼它會選擇該業務下列出的正確聯繫人,但這不是我想要實現的。

我在做什麼錯?

謝謝。

+0

如果你改變「像‘\ *’」到「巴克萊」和它的作品,然後嘗試只是「\ *」 –

+0

怕不行 - 不返回任何東西。 「LIKE **」也沒有單引號,也沒有LIKE「*」。感謝壽。 – BFWebAdmin

+0

Np個好像sebt有一個點,所以你可能有更多的運氣有! –

回答

3

你已經擊中了一些有趣的東西! 「Like *」你試圖讓查詢評估不是一個文字字符串,而是一個邏輯表達式(它的計算結果爲True或False)。當你在使用Iif的SQL中切換不同的比較表達式(嚴格來說,Iif是Access VBA,而不是SQL,但Access允許你在查詢中使用VBA)時,你只能在字面值之間切換。例如1,453.5,「這個」,「顧客名稱」。

切換到「LIKE *」表達式相當於隨時編寫SQL。這就像我說:「我今天喝了咖啡(今天是星期五,(5-4),(6/2))」。你的大腦可以在從英語文字到必須評估(和金額,今天的英文直譯詞「一個」),所以可以訪問 - 在一定程度上,但不評價這個程度:

[AColumn] = "Like *" 

和解釋它的意思

[AColumn] LIKE "*" 

的方式輪是打出來的支票是否「全部查看」選擇單獨的測試:

WHERE 
([Selection on the form]="View all") OR 
([AColumn]=[Selection on the form]) 
+0

這就是它!謝謝。 – BFWebAdmin