Функция InStr

Возвращает значение типа Variant (Long), определяющее положение первого вхождения одной строки в другую.

Некоторые примеры

Синтаксис

Instr ([начало, ]строка1, строка2[, сравнение] )

Функция InStr имеет следующие аргументы:

Аргумент

Описание

начало

Необязательный аргумент. Числовое выражение, которое задает начальное положение для каждого поиска. Если аргумент не задан, поиск начинается с первого символа. Если аргумент начало содержит значение NULL, возникает ошибка. Если задан аргумент сравнение, аргумент начало является обязательным.

строка1

Обязательный аргумент. Представляет собой строковое выражение, в котором выполняется поиск.

строка2

Обязательный аргумент. Искомое строковое выражение.

сравнение

Необязательный аргумент. Указывает тип сравнение строк. Если функция сравнить имеет значение null, возникает ошибка. Если аргумент " Сравнение"опущен, тип сравнения определяется параметром "сравнить ". Укажите допустимый LCID (LocaleID), чтобы использовать в сравнении правила, зависящие от языкового стандарта.

Совет: В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы. 

Параметры

Аргумент сравнение может принимать следующие значения:

Константа

Значение

Описание

vbUseCompareOption

–1

Выполняется сравнение с помощью параметра инструкции Option Compare.

vbBinaryCompare

0

Выполняется двоичное сравнение.

vbTextCompare

1

Выполняется текстовое сравнение.

vbDatabaseCompare

2

Только в Microsoft Office Access 2007. Выполняется сравнение на основе сведений из базы данных.


Возвращаемые значения

Если

Возвращаемое значение

строка1 является пустой

0

строка1 равна NULL

NULL

строка2 является пустой

начало

строка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 для приложений (VBA). Чтобы получить дополнительные сведения о работе с 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.

Примечание:  Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

См. также

Строковые функции и их использование

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×