Sql 访问查询中的IIf函数
我有一个查询,我想使用IIf函数作为条件的一部分。以下是完整的SQL:Sql 访问查询中的IIf函数,sql,ms-access,criteria,jet,iif-function,Sql,Ms Access,Criteria,Jet,Iif Function,我有一个查询,我想使用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")); 这是一段让我痛苦的代码: &g
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]
如果我有FRM报告上的日期,这将很好;但是,如果没有输入日期,则返回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"));
第二个选项不起作用,但第一个确实起作用了!多谢各位<代码>[表格]![frmReports]![txtStartDate]=“应将替换为
[Forms]![frmReports]![txtStartDate]为空
。