Verwenden Sie die Option VBScript für den Parameter Ausdruckstyp der Werkzeuge Feld berechnen oder Felder berechnen (mehrere), wenn Sie VBA- oder VBScript-Erfahrung haben und mit der Skriptsyntax vertraut sind. Diese Option unterstützt auch ältere Modelle oder Skripte von ArcGIS Desktop, die das Werkzeug Feld berechnen mit VBScript-Berechnungen verwenden.
Dieses Thema konzentriert sich auf VBScript-basierte Beispiele für Feld berechnen. Weitere Informationen zu Python-Beispielen finden Sie unter Feld berechnen: Python-Beispiele. Weitere Informationen über Arcade-Ausdrücke finden Sie in der ArcGIS Arcade-Dokumentation. Weitere Informationen zu SQL-Ausdrücken finden Sie unter Berechnen von Feldwerten.
Hinweis:
Sie können in VBScript keine Datentypen deklarieren; alle Variablen sind implizit Variant. Anweisungen wie Dim x as String sollten entfernt oder zu Dim x vereinfacht werden.
Einfache Berechnungen
Mit nur einem kurzen Ausdruck kann eine Vielzahl von Berechnungen durchgeführt werden.
VBScript-Zeichenfolgefunktionen
Zeichenfolgen werden von einer Reihe von VBScript-Zeichenfolgefunktionen unterstützt, einschließlich Left, InStr und Chr. Im Folgenden sehen Sie VBScript-Beispiele für häufig verwendete Zeichenfolgenfunktionen in der Feldberechnung:
Verwenden Sie die Funktion Left, um eine bestimmte Anzahl von Zeichen auf der linken Seite einer Zeichenfolge zurückzugeben.
Expression:
Left([MyField], 1)
Verwenden Sie die Funktion Right, um eine bestimmte Anzahl von Zeichen auf der rechten Seite einer Zeichenfolge zurückzugeben.
Expression:
Right([MyField], 1)
Verwenden Sie die Funktion Mid, um eine bestimmte Anzahl von Zeichen aus einer Zeichenfolge mit einer Startposition und einer optionalen Anzahl von Zeichen zurückzugeben.
Expression:
Mid([MyField], 14, 4)
Verwenden Sie die Funktion InStr, um die Position des ersten Vorkommens einer Zeichenfolge in einer anderen zurückzugeben.
Expression:
InStr([MyField], " ")
Verwenden Sie die Funktion Replace, um eine Zeichenfolge zurückzugeben, in der eine bestimmte Unterzeichenfolge durch eine andere Unterzeichenfolge ersetzt wurde.
Expression:
Replace([MyField], "#", "!")
Verwenden Sie die Funktion Chr, um das Zeichen zurückzugeben, das mit dem angegebenen Zeichencode verknüpft ist.
Im folgenden Beispiel wird ein Zeilenumbruch durch ein Ausrufezeichen ersetzt.
Expression:
Replace([MyField], Chr(13), "!")
Verwenden Sie den Operator &, um zwei Feldwerte zu verketten.
Expression:
[MyField1] & " " & [MyField2]
Einfache mathematische Beispiele
VBScript stellt Werkzeuge zum Verarbeiten von Zahlen bereit.
Operator | Erläuterung | Beispiel | Ergebnis |
---|---|---|---|
x + y | x plus y | 1,5 + 2,5 | 4,0 |
x - y | x minus y | 3,3 - 2,2 | 1.1 |
x * y | x mal y | 2,0 * 2,2 | 4,4 |
x / y | X dividiert durch Y | 3 / 2 | 1.5 |
x \ y | X dividiert durch Y (Ganzzahldivision) | 3 \ 2 | 1 |
x MOD y | x modulo y | 8 MOD 3 | 2 |
x ^ y | x potenziert mit y | 2 ^ 3 | 8 |
Multipliziert die Werte eines Feldes mit 2.
[Rank] * 2
Berechnen von Feldern mithilfe von Logik mit VBScript
Logische Muster können mit If-, ElseIf- und Else-Anweisungen in einen Codeblock aufgenommen werden.
Es wird auf Grundlage von Feldwerten klassifiziert.
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