InStr-Funktion

Gibt einen Wert des Typs Variant (Long) zurück, der die Position des ersten Auftretens einer Zeichenfolge innerhalb einer anderen Zeichenfolge angibt.

Hier sind einige Beispiele

Syntax

InStr ([Anfang, ] Zeichenfolge1, Zeichenfolge2 [, Vergleich ] )

Die Syntax der InStr-Funktion weist die folgenden Argumente auf:

Argument

Beschreibung

Anfang

Optional. Numerischer Ausdruck, der die Anfangsposition für jede Suche festlegt. Fehlt dieses Argument, beginnt die Suche an der ersten Zeichenposition. Enthält Anfang den Nullwert, tritt ein Fehler auf. Das Argument Anfang ist erforderlich, wenn Vergleich angegeben ist.

Zeichenfolge1

Erforderlich. Zeichenfolgenausdruck, der durchsucht wird.

Zeichenfolge2

Erforderlich. Zeichenfolgenausdruck, nach dem gesucht wird.

Vergleich

Optional. Gibt den Typ des Zeichenfolgenvergleichs an. Enthält Vergleich den Nullwert, tritt ein Fehler auf. Ist Vergleich nicht angegeben, bestimmt die Einstellung von OptionCompare den Typ des Vergleichs. Geben Sie eine gültige LCID (LocaleID) an, damit gebietsschemaspezifische Regeln im Vergleich verwendet werden.

Tipp : In Access 2010 enthält der Ausdrucks-Generator IntelliSense, sodass Sie sehen können, welche Argumente für den Ausdruck erforderlich sind. 

Einstellungen

Die Einstellungen für das Argument Zeichenvergleich lauten:

Konstante

Wert

Beschreibung

vbUseCompareOption

-1

Verwendet für einen Vergleich die Einstellung der Option Compare-Anweisung.

vbBinaryCompare

0

Führt einen binären Vergleich durch.

vbTextCompare

1

Führt einen Textvergleich durch.

vbDatabaseCompare

2

Nur Microsoft Office Access 2007. Führt einen Vergleich anhand der Informationen in Ihrer Datenbank durch.


Rückgabewerte

Wenn

InStr-Rückgabe

Zeichenfolge1 hat Länge 0 (null)

0

Zeichenfolge1 ist Nullwert

Null

Zeichenfolge2 hat Länge 0 (null)

Anfang

Zeichenfolge2 ist Nullwert

Null

Zeichenfolge2 nicht gefunden

0

Zeichenfolge2 in Zeichenfolge1 gefunden

Die Position, an der eine Übereinstimmung gefunden wurde

Anfang > Zeichenfolge2

0


Hinweise

Die InStrB-Funktion wird mit Bytedaten verwendet, die in einer Zeichenfolge enthalten sind. Statt die Zeichenposition zurückzugeben, an der eine Zeichenfolge erstmals innerhalb einer anderen auftritt, gibt InStrB die Byteposition zurück.

Beispiele

Verwenden der InStr-Funktion in einem Ausdruck    Sie können InStr überall verwenden, wo Ausdrücke zulässig sind. Wenn Sie beispielsweise die Position des ersten Punkts (.) in einem Feld ermitteln möchten, das IP-Adressen enthält (Feldname ist "IPAddress"), können Sie InStr wie folgt zum Suchen verwenden:

InStr(1,[IPAddress],".")

Die InStr-Funktion wertet jeden Wert im Feld "IPAddress" aus und gibt die Position des ersten Punkts zurück. Daher gibt die Funktion, wenn der erste Teil des IP-Adresse gleich 10. ist, den Wert "3" zurück.

Sie können dann weitere Funktionen verwenden, die die Ausgabe der InStr-Funktion verarbeiten, um den Teil der IP-Adresse zu extrahieren, die vor dem ersten Punkt steht. Beispielsweise so:

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

In diesem Beispiel gibt InStr(1,[IPAddress],".") die Position des ersten Punkts zurück. Durch Subtrahieren von 1 wird ermittelt, wie viele Zeichen vor dem ersten Punkt stehen (in diesem Fall 2). Die Left-Funktion extrahiert dann die entsprechende Anzahl Zeichen aus dem linken Teil des Felds "IPAddress", so dass sie den Wert "10" zurückgibt.

Verwenden von InStr in VBA-Code    

Hinweis : Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

In diesem Beispiel wird die InStr-Funktion verwendet, um die Position zurückzugeben, an der eine Zeichenfolge erstmals innerhalb einer anderen Zeichenfolge auftritt.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.
Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×