Remarques
L'utilisation de l'opérateur + ne permet pas toujours de distinguer si le résultat sera une addition ou une concaténation de chaînes. Pour éliminer toute ambiguïté et écrire un code plus clair, utilisez l'opérateur & pour les concaténations.
Si une des deux expressions au moins n'est pas de type Variant, les règles ci-dessous s'appliquent :
Condition Résultat
Les deux expressions sont des types de données numériques (Byte, Boolean, Integer, Long, Single, Double, Date, Currency ou Decimal) Addition.
Les deux expressions sont de type String Concaténation.
Une expression est d'un type numérique et l'autre est de type Variant, sauf Null Addition.
Une expression est de type String et l'autre est de type Variant, sauf Null Concaténation.
Une expression est un Variant de type Empty Renvoi de l'expression restante, sans modification, en argument result.
Une expression est une donnée de type numérique et l'autre est de type String L'erreur Type incompatible survient.
L'une des deux expressions a la valeur Null L'argument result a la valeur Null.
Si les deux expressions sont de type Variant, les règles ci-dessous s'appliquent :
Condition Résultat
Les deux expressions de type Variant sont numériques. Addition.
Les deux expressions de type Variant sont des chaînes. Concaténation.
Une expression de type Variant est numérique et l'autre est une chaîne. Addition.
Dans le cas d'additions simples avec des expressions ne contenant que des types de données numériques, le type de données de l'argument result correspond généralement à celui de l'expression la plus précise. Les types de données numériques sont classés dans l'ordre de précision croissant suivant : Byte, Integer, Long, Single, Double, Currency et Decimal. Le tableau suivant détaille les exceptions à cette règle :
Condition Type de l'argument result
Addition de types Single et Long Type Double.
L'argument result est un variant de type Long, Single ou Date excédant la plage de valeurs acceptées. Conversion en variant de type Double.
L'argument result est un variant de type Byte excédant la plage de valeurs acceptées. Conversion en variant de type Integer.
L'argument resultest un variant de type Integer excédant la plage de valeurs acceptées. Conversion en variant de type Long.
Ajout d'une valeur de type Date à tout autre type de données. Type Date.
Si l'une des deux expressions a la valeur Null, l'argument result est Null. Si les deux expressions sont Empty, l'argument resultest de type Integer. Cependant, si une seule expression est Empty, l'autre expression est renvoyée sans modification en argument result.
Note L'ordre de précision de l'addition et de la soustraction diffère de celui de la multiplication.
Partager