Partager via


Recommandations de mise à niveau : éviter la propagation de Null

Mise à jour : novembre 2007

Les versions antérieures de Visual Basic prennent en charge la propagation de Null. La propagation de Null implique que lorsque Null est utilisé dans une expression, le résultat de l'expression est lui-même Null. Dans tous les cas de l'exemple suivant, le résultat de V est Null.

Dim V
V = 1 + Null
V = Null + Right$("SomeText", 1)
V = Right("SomeText", 0)

La propagation de Null n'est pas prise en charge dans Visual Basic 2008. L'instruction 1+Null génère une incompatibilité de type dans Visual Basic 2008. En outre, alors que Visual Basic 6.0 possédait deux versions de la fonction Left (Left$ retournant une chaîne, Left retournant un variant qui pouvait être Null) Visual Basic 2008 ne possède plus qu'une seule version, Left, qui retourne une chaîne dans tous les cas.

Par souci de compatibilité avec Visual Basic 6.0 et Visual Basic 2008, vous devez toujours écrire du code pour tester les Null au lieu de vous fier à la propagation de Null. En outre, dans Visual Basic 2008, les fonctions suivantes ne retournent plus Null :

Chr, Command, CurDir, Date, Environ, Error, Hex, LCase, LTrim, Oct, Right, RTrim, Space, Str, Time, Trim, UCase

La propagation de Null est couramment utilisée dans les applications de base de données qui impliquent de rechercher si un champ contient Null. Dans ce cas, vous pouvez vérifier les résultats à l'aide de la fonction IsNull() et effectuer l'action appropriée.

Voir aussi

Autres ressources

Recommandations de mise à niveau relatives au langage