Null - VB/VBA/VBS - Programmation
Marsh Posté le 15-05-2003 à 16:29:52
Hepil a écrit : problème con : |
Marsh Posté le 15-05-2003 à 16:53:42
Hepil a écrit : ça n'a pas l'air de marcher ... |
Ca ne marche peut etre qu'avec un recordset:
Voila le code que j'ai utilisé:
If Not IsNull(.Fields("N° lot" )) Then
boolLotIsNull = False
Else
boolLotIsNull = True
End If
Et ca fonctionne correctement...
Marsh Posté le 15-05-2003 à 16:57:01
ok je vais partir sur ce code
je verrais cela demain matin car j'ai du lancer le traitement
Marsh Posté le 15-05-2003 à 18:05:32
Le IsNull ne fonctionne que sur des variables de type Variant, et la propriété Value d'un field de recordset en fait partie. Donc si ça marche pas, vérifie la valeur de ton Field avec la watch window par exemple.
Eventuellement, il peut aussi avoir pris la valeur Empty plutôt que Null. Dans ce cas, il y a la fonction IsEmpty qui fonctionne de la même manière.
Marsh Posté le 19-05-2003 à 13:03:49
merci je testerai à l'occasion car vu l'urgence j'ai du utiliser quelques requête UPDATE facile directment via ACCESS
Je devrai l'automatiser dans le code bientôt
Tout est noté
Marsh Posté le 19-05-2003 à 17:35:52
Et la fonction "Vartype(ma_var) = vbNull" t'as essayer ?
Si ça marche pas, essayes de regarder ce que renvoie "Vartype(ma_var)" comme valeur, et recherches dans l'aide les constantes pour tout les types.
Marsh Posté le 20-05-2003 à 07:56:16
Warzouz a écrit : Et la fonction "Vartype(ma_var) = vbNull" t'as essayer ? |
quel intérêt? seuls les variants peuvent prendre le Null de toute façon
quant à vbNullChar et vbNullString, ils valent tous les deux "" (chaîne vide), donc rien à voir avec le Null
Marsh Posté le 20-05-2003 à 11:27:34
drasche a écrit : |
Ben si la donnée est un variant, Vartype renvoie le sous-type.
Marsh Posté le 20-05-2003 à 14:47:04
Plus simple :
x = nz(le_champ,0)
Plus compliqué
if isnull(le_champ) = true then
x = 0
end if
Marsh Posté le 15-05-2003 à 16:02:41
problème con :
j'ai un champ d'une table qui est à NULL
càd table1!champ1 = Null lors de l'exécution du code, quand je pointe dessus, avec un point d'arrêt par exemple!
Je désire faire un test de cette valeur pour la remplacer par '0'
je tape :
if table1!champ1 = Null then
....
endif
on ne rentre jamais dans le test !!!!
j'ai aussi essayé avec
IF ... Is Null then ...
pareil
J'ai vérifier le contenu du champ avec un 'espion'
la valeur est bien Null
quelle est la solution ?