Feld berechnen – VBScript-Beispiele
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.
Achtung:
Mit Windows 11, Version 24H2, wird VBScript zu einem Feature on Demand und erfordert die VBScript-Funktion.
Führen Sie einen der folgenden Schritte aus, um die Option VBScript weiterhin zu verwenden:
Konvertieren Sie den Ausdruckstyp in Python, Arcade oder SQL.
Aktivieren Sie die optionale VBScript-Unterstützung in den Windows-Systemeinstellungen.
Weitere Informationen finden Sie unter Hinweise zur Abkündigung und zu veralteten Funktionen.
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 zu about ArcGIS Arcade-Ausdrücken finden Sie im ArcGIS Arcade Guide. 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 die folgenden 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 Code-Block 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