Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Връща стойност от тип Variant (Long), указваща позицията на първата поява на един низ в друг.

Вижте някои примери

Синтаксис

InStr ([начало, ] низ1, низ2 [, сравнение ] )

Синтаксисът на функцията InStr има следните аргументи:

Аргумент

Описание

начало

Незадължително. Числов израз, който задава началната позиция за всяко търсене. Ако се пропусне, търсенето започва от позицията на първия знак. Ако начало съдържа Null, възниква грешка. Аргументът начало е задължителен, ако сте указали сравнение.

низ1

Задължително. Израз във формата на низ, който се търси.

низ2

Задължително. Търсен израз във формата на низ.

сравнение

Незадължително. Задава типа на сравнение на низове. Ако сравнение е Null, възниква грешка. Ако сравнение е пропуснато, настройката OptionCompare определя типа на сравнението. Задайте валиден LCID (LocaleID), за да използвате специфични за езиковата променлива правила за сравнение.

Съвет: Конструкторът на изрази има IntelliSense, така че можете да видите какви аргументи изисква вашият израз.

Настройки

Настройките за аргументи за сравнение са:

Константа

Value

Описание

vbUseCompareOption

-1

Извършва сравнение с помощта на настройката на командата Option Compare .

vbBinaryCompare

0

Извършва двоично сравнение.

vbTextCompare

1

Извършва текстово сравнение.

Върнати стойности

If

InStr връща

string1 е с нулева дължина

0

string1 е Null

Null

string2 е с нулева дължина

начало

низ2 е Null

Null

не е намерен низ2

0

низ2 е намерен в низ1

Позиция, в която е намерено съвпадение

начало > низ2

0

Забележки

Функцията InStrB се използва с байтове данни, съдържащи се в низ. Вместо да връща позицията на знака на първото появяване на един низ в друг, InStrB връща позицията на байтовете.

Примери

Използване на функцията InStr в израз    Можете да използвате InStr навсякъде, където можете да използвате изрази. Ако например искате да намерите позицията на първия период (.) в поле, което съдържа IP адреси (наречени IPAddress), можете да използвате InStr , за да го намерите, ето така:

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

Функцията InStr изследва всяка стойност в полето IPAddress и връща позицията на първия период. Следователно, ако първата част от IP адреса е 10., функцията връща стойността 3.

След това можете да използвате други функции, работещи с изхода от функцията InStr , за да извлечете частта от IP адреса, който предхожда първия период, ето така:

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

В този пример InStr(1;[IPAddress];".") връща позицията на първия период. Изваждането на 1 определя колко знака предшестват първия период, в този случай 2. След това функцията Left извлича толкова знаци от лявата част на полето IPAddress, връщайки стойността 10.

Използване на InStr във VBA код    

Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA).

Този пример използва функцията InStr , за да върне позицията на първото появяване на един низ в друг.

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.

Вж. също

Функции за низове и как да ги използвате

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.