2012-11-21 56 views
0

我很難在查詢中輸入是/否字段。我的表有是/否的支票或不是,我查詢我試圖運行的複選框...iif使用是/否

SELECT Roster.UserID, 
EventLog.Type, 
EventLog.Priority, 
IIf([Priority]="Yes",[EventLog]![Date],Date()-183) AS Expr1 
FROM EventLog 
INNER JOIN Roster 
ON EventLog.UserID = Roster.UserID 
GROUP BY Roster.UserID, 
EventLog.Type, 
EventLog.Priority 
HAVING (((EventLog.Type) Like "Att*")); 

我試圖運行此爲「表達」和「分組依據」並收到錯誤「標準表達式中的數據類型不匹配」我很確定我使用「是」不正確。請給我直線。

+0

如果您使用的是訪問權限,您應該將其添加到標籤 –

+0

不應該只應用於聚合函數? – gdoron

+0

沒有聚合,爲什麼即使有'GROUP BY'(如果你想要獨特的行,這是適當的時候使用'DISTINCT',或稍微修改你的查詢)。鑑於此,我可能會將'HAVING'子句換成'WHERE',這可能更接近你想要的(請注意,這可能並非總是如此)。 –

回答

1

刪除「是」周圍的引號 - 引用它認爲你有一個字符串(文本)值而不是布爾值(是/否)。

您可能希望習慣於使用True而不是Yes(並且False而不是No),以便您可以輕鬆地爲Access以外的數據庫編寫SQL。

+0

Boofus,我用你的建議,並改變「是」爲真,它的作品太棒了!謝謝!!! –