我有一个查询和我想用一个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"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top