2010-10-26 54 views
0

我有一個查詢,我想使用一個IIf函數作爲條件的一部分。以下是完整的SQL:IIf函數內部訪問查詢

SELECT Hits.HitID, Hits.ListingID, Hits.HitCount, Hits.HitDate, Hits.HitTypeID, Hits.IsDeleted 
FROM Hits 
WHERE (((Hits.HitDate)>=[Forms]![frmReports]![txtStartDate]) AND ((Hits.IsDeleted)="N")); 

這裏是一個令我痛苦的一段代碼:

>=[Forms]![frmReports]![txtStartDate] 

如果我有frmReports日期,這將正常工作;然而,如果沒有輸入日期,這將返回0個記錄(我希望它返回所有記錄,如果是這種情況)。

我該如何做這項工作?

回答

2

試試這個:

SELECT Hits.HitID, Hits.ListingID, Hits.HitCount, Hits.HitDate, Hits.HitTypeID, Hits.IsDeleted 
FROM Hits 
WHERE (((Hits.HitDate)>=nz([Forms]![frmReports]![txtStartDate],"1/1/1")) AND ((Hits.IsDeleted)="N")); 

或本

SELECT Hits.HitID, Hits.ListingID, Hits.HitCount, Hits.HitDate, Hits.HitTypeID, Hits.IsDeleted 
FROM Hits 
WHERE (((Hits.HitDate)>=[Forms]![frmReports]![txtStartDate]) AND ((Hits.IsDeleted)="N")) 
    OR (([Forms]![frmReports]![txtStartDate] = "") AND (Hits.IsDeleted="N")); 
+0

第二個選項沒有工作,但第一個確實這樣做了!非常感謝你! – Sesame 2010-10-26 03:38:22

+0

'[Forms]![frmReports]![txtStartDate] =「」'應該用'[Forms]![frmReports]![txtStartDate]替換爲Null'。 – 2010-10-26 21:14:35