2009-12-03 3 views
0

Est-il possible de définir une valeur pour les valeurs NULL?Définir la valeur si elle est NULL en SQL - Access 2007

Le sql J'utilise maintenant est la suivante:

SELECT date 
FROM Activity 
WHERE date BETWEEN [Forms]![Search]![fromDate] AND [Forms]![Search]![toDate] 

Mais le problème est quand il n'y a pas de valeur pour fromDate ou toDate le résultat est zéro lignes. Donc ce que je veux faire est quand fromDate est NULL, changez la valeur fromDate en 1800-01-01 et quand toDate est NULL, changez-le en 2300-01-01.

Répondre

2

Vous devriez pouvoir utiliser la fonction NZ

Nz(variant [, valueifnull ]) 

NZ lien

0

Essayez ceci:

SELECT date 
FROM Activity 
WHERE date BETWEEN 
    ISNULL([Forms]![Search]![fromDate], '1800-01-01') AND 
    ISNULL([Forms]![Search]![toDate], '2300-01-01') 
+0

J'ai essayé, mais cela ne fonctionne pas pour moi. Etes-vous sûr qu'Access supporte cette expression? – Johan

+1

Ceci est T-SQL, pas Jet/ACE SQL. la fonction IsNull() dans Access/Jet/ACE renvoie uniquement un booléen si l'expression évalue à Null. La fonction correspondante est Nz(), c'est-à-dire NullToZero (qui n'est pas limitée aux valeurs numériques, malgré le nom). –

+0

@Jojo: poster des réponses pour le mauvais dialecte de SQL vous coûte des points de réputation. -1. –