0

我有一个查询,我想使用 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 条记录(如果是这种情况,我希望它返回所有记录)。

我怎样才能使这项工作?

4

1 回答 1

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"));
于 2010-10-26T03:14:31.233 回答