IIf функция внутри запроса доступа - PullRequest
0 голосов
/ 26 октября 2010

У меня есть запрос, и я хотел бы использовать функцию 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 записей (я хочу вернуть ВСЕ записи, если это так).

Как я могу сделать эту работу?

1 Ответ

2 голосов
/ 26 октября 2010

Попробуйте это:

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"));
...