Access查询中IIf函数
-
26-09-2019 - |
题
我有一个查询和我想用一个IIf函数作为标准的一部分。以下是完整的SQL:
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的记录(我希望它返回所有记录,如果是这种情况)。
我怎样才能使这项工作?
解决方案
尝试这种情况:
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"));
不隶属于 StackOverflow