J'ai un rapport qui suit la durée de certains éléments dans la base de données, et le fait en le suivant sur une série d'âges (20-44, 45-60 61-90, 91-180, 180+). J'ai la requête suivante comme source du rapport de données:Faire une requête Count() retourner 0 au lieu de vide
SELECT DISTINCT Source.ItemName,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) > 20) AS Total,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 20 AND 44) AS BTWN_20_44,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 45 AND 60) AS BTWN_45_60,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 61 AND 90) AS BTWN_61_90,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 91 AND 180) AS BTWN_91_180,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) > 180) AS GT_180
FROM Source
GROUP BY Source.ItemName;
Cette requête fonctionne très bien, sauf s'il n'y a pas d'entrées d'une colonne. Au lieu de renvoyer un nombre de 0, une valeur vide est renvoyée.
Comment obtenir Count() pour retourner un 0 au lieu de vide?
Peu importe ... un commentaire maintenant supprimé m'a donné la bonne idée ... –
Nz fonctionne généralement bien avec Access: Nz (instruction, valeur if null) – Fionnuala
Lorsque j'essaie votre requête d'origine, je reçois une erreur "Au plus un enregistrement peut être retourné par cette sous-requête" – BIBD