2010-10-26 33 views
0

J'ai une requête et je voudrais utiliser une fonction IIf dans le cadre des critères. Voici la version complète de SQL:IIf fonction à l'intérieur de la requête d'accès

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

Voici le morceau de code qui me angoissant:

>=[Forms]![frmReports]![txtStartDate] 

Si j'ai une date à frmReports, cela fonctionne très bien; cependant, si aucune date n'est entrée, cela retourne 0 enregistrements (je veux que tous les enregistrements soient retournés, si c'est le cas).

Comment est-ce que je peux faire ce travail?

Répondre

2

Essayez ceci:

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

ou cette

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")); 
+0

La deuxième option n'a pas fonctionné, mais le premier vous a fait! Merci beaucoup! – Sesame

+0

'[Forms]! [FrmReports]! [TxtStartDate] =" "' devrait être remplacé par '[Forms]! [FrmReports]! [TxtStartDate] est Null'. –