Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Zwraca wartość typu wariant (długa), określającą pozycję pierwszego wystąpienia jednego ciągu w innym ciągu.

Zobacz kilka przykładów

Składnia

InStr ([start, ] ciąg1, ciąg2 [, porównanie ] )

W składni funkcji InStr występują następujące argumenty:

Argument

Opis

rozpoczynanie

Argument opcjonalny. Wyrażenie liczbowe, które ustawia pozycję początkową dla każdego wyszukiwania. Jeśli zostanie pominięte, wyszukiwanie rozpocznie się od pierwszego znaku. Jeśli argument start zawiera wartość Null, występuje błąd. Argument początek jest wymagany, jeśli określono porównanie .

ciąg1

Argument wymagany. Przeszukiwane wyrażenie ciągu.

ciąg2

Argument wymagany. Szukane wyrażenie ciągu.

Porównać

Argument opcjonalny. Określa typ porównanie ciągów. Jeśli argument porównaj ma wartość Null, występuje błąd. Jeśli argument porównanie zostanie pominięty, ustawienie Porównywanieopcji określa typ porównania. Określ prawidłowy identyfikator LCID (LocaleID), aby w porównaniu używać reguł specyficznych dla ustawień regionalnych.

Porada: Konstruktor wyrażeń ma technologię IntelliSense, dzięki czemu możesz zobaczyć, jakich argumentów wymaga wyrażenie.

Ustawienia

Ustawienia argumentów porównania to:

Stała

Value (Wartość)

Opis

vbUseCompareOption

-1

Wykonuje porównanie za pomocą ustawienia instrukcji Porównaj opcje .

vbBinaryCompare

0

Wykonuje porównanie binarne.

vbTextCompare

1

Wykonuje porównanie tekstowe.

Zwracane wartości

If

Funkcja InStr zwraca wartość

ciąg1 ma zerową długość

0

ciąg1 to Null

Null

ciąg2 ma zerową długość

rozpoczynanie

ciąg2 to Null

Null

ciąg2 nie został odnaleziony

0

ciąg2 znajduje się w ciągu1

Położenie, w którym znajduje się dopasowanie

ciąg 2 >

0

Spostrzeżenia

Funkcja InStrB jest używana z danymi bajtowymi zawartymi w ciągu. Zamiast zwracać pozycję znaku pierwszego wystąpienia jednego ciągu w drugim, funkcja InStrB zwraca pozycję bajtu.

Przykłady

Używanie funkcji InStr w wyrażeniu    InStr można używać wszędzie tam, gdzie można używać wyrażeń. Jeśli na przykład chcesz znaleźć pozycję pierwszego okresu (.) w polu zawierającym adresy IP (o nazwie IPAddress) można użyć instr , aby go znaleźć, w następujący sposób:

InStr(1;[adres IPAddress]".")

Funkcja InStr sprawdza każdą wartość w polu IPAddress i zwraca pozycję pierwszego okresu. Dlatego, jeśli pierwsza część adresu IP wynosi 10.funkcja zwraca wartość 3.

Następnie można użyć innych funkcji działających na podstawie danych wyjściowych funkcji InStr , aby wyodrębnić część adresu IP poprzedzającą pierwszy okres, na przykład:

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

W tym przykładzie InStr(1;[adres IPAddress]".") zwraca pozycję pierwszego okresu. Odejmowanie 1 określa liczbę znaków poprzedzających pierwszy okres, w tym przypadku 2. Następnie funkcja Lewy wyodrębnia tę liczbę znaków z lewej części pola IPAddress, zwracając wartość 10.

Używanie kodu VBA inStr w języku VBA    

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA).

W tym przykładzie użyto funkcji InStr w celu zwrócenia pozycji pierwszego wystąpienia jednego ciągu w innym.

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.

Zobacz też

Funkcje tekstowe i ich zastosowanie

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.