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 に答える