Utilisez l’option VBScript du paramètre Type d’expression de l’outil Calculer un champ ou de l’outil Calculer des champs (multiple) si vous connaissez le langage VBA ou VBScript et si vous maîtrisez la syntaxe de script. Cette option prend également en charge les modèles ou les scripts existants issus de ArcGIS Desktop qui utilisent l’outil Calculer un champ avec des calculs VBScript.
Cette rubrique présente des exemples d’utilisation de l’outil Calculer un champ qui reposent sur du code VBScript. Pour en savoir plus sur les exemples basés surPython, reportez-vous à la rubrique Exemples Python d’utilisation de l’outil Calculer un champ. Pour en savoir plus sur les expressions Arcade, reportez-vous au guide ArcGIS Arcade. Pour en savoir plus sur les expressions SQL, reportez-vous à la rubrique Calculer des valeurs de champ.
Remarque :
VBScript ne permet pas de déclarer explicitement n’importe quel type de données ; toutes les variables sont implicitement de type Variant. Les instructions telles que Dim x as String doivent être supprimées ou simplifiées en Dim x.
Calculs simples
Les expressions courtes permettent d’effectuer divers calculs.
Fonctions de chaîne VBScript
Les chaînes sont prises en charge par une série de fonctions de chaîne VBScript, notamment Left, InStr et Chr. Voici quelques exemples VBScript utilisés dans les fonctions de chaîne courantes du Calculateur de champs :
Utilisez la fonction Left pour renvoyer un nombre spécifié de caractères à partir de la gauche d’une chaîne.
Expression:
Left([MyField], 1)
Utilisez la fonction Right pour renvoyer un nombre spécifié de caractères à partir de la droite d’une chaîne.
Expression:
Right([MyField], 1)
Utilisez la fonction Mid pour renvoyer un nombre spécifié de caractères en utilisant une position de départ et un nombre facultatif de caractères.
Expression:
Mid([MyField], 14, 4)
Utilisez la fonction InStr pour renvoyer la position de la première occurrence d’une chaîne dans une autre chaîne.
Expression:
InStr([MyField], " ")
Utilisez la fonction Replace pour renvoyer une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée par une autre sous-chaîne.
Expression:
Replace([MyField], "#", "!")
Utilisez la fonction Chr pour renvoyer le caractère associé au code de caractère spécifié.
Dans l’exemple suivant, le caractère de retour chariot est remplacé par un point d’exclamation.
Expression:
Replace([MyField], Chr(13), "!")
Utilisez l’opérateur & pour concaténer deux valeurs de champs.
Expression:
[MyField1] & " " & [MyField2]
Exemples de mathématiques simples
VBScript fournit des outils pour le traitement des nombres.
Opérateur | Explication | Exemple | Résultat |
---|---|---|---|
x + y | x plus y | 1.5 + 2.5 | 4.0 |
x - y | x moins y | 3.3 - 2.2 | 1.1 |
x * y | x fois y | 2.0 * 2.2 | 4.4 |
x / y | x divisé par y | 3 / 2 | 1,5 |
x \ y | x divisé par y (division de nombre entier) | 3 \ 2 | 1 |
x MOD y | x modulo y | 8 MOD 3 | 2 |
x ^ y | x puissance y | 2 ^ 3 | 8 |
Multipliez les valeurs d’un champ par 2.
[Rank] * 2
Calcul de valeurs de champs à l'aide de logique avec VBScript
Des modèles logiques peuvent être inclus dans un bloc de code via les instructions If, ElseIf et Else.
Classification selon des valeurs de champ.
Expression:
density
Code Block:
Dim density
If [POP90_SQMI] < 100 Then
density = "low"
ElseIf [POP90_SQMI] < 300 Then
density = "medium"
Else
density = "high"
End If
Vous avez un commentaire à formuler concernant cette rubrique ?