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.