Функція InStr

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Повертає значення типу Variant (Long), яке задає положення першого входження одного рядка всередині іншого.

Див. приклади

Синтаксис

InStr([start, ] string1, string2 [, compare ] )

Синтаксис функції InStr має такі аргументи:

Аргумент Опис
start Необов’язковий аргумент. Числовий вираз, який задає початкове положення для кожного пошуку. Якщо його не задано, пошук починається з першого символу. Якщо аргумент start містить Null-значення, стається помилка. Аргумент start є обов’язковим, якщо задано аргумент compare.
string1 Обов’язковий аргумент. Рядковий вираз, який потрібно знайти.
string2 Обов’язковий аргумент. Шуканий рядковий вираз.
compare Необов’язковий аргумент. Визначає тип порівняння рядків. Якщо аргумент compare має Null-значення, стається помилка. Якщо аргумент compare не вказано, параметр OptionCompare визначає тип порівняння. Укажіть дійсний код мови (LocaleID), щоб використовувати спеціальні мовні правила для порівняння.

Порада.

У побудовнику виразів є функція IntelliSense, яка дає змогу побачити, які аргументи потрібні для виразу.

Параметри

Параметри аргументу compare:

Константа Значення Опис
vbUseCompareOption –1 Виконує порівняння за допомогою параметра оператора Option Compare.
vbBinaryCompare 0 Виконує двійкове порівняння.
vbTextCompare 1 Виконує текстове порівняння.

Значення, що повертаються

Умова Значення, яке повертає функція InStr
string1 має нульову довжину 0
string1 має Null-значення Null-значення
string2 має нульову довжину start
string2 має Null-значення Null-значення
string2 не знайдено 0
string2 знайдено в string1 Положення, у якому знайдено збіг
рядок початку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.

Додаткові відомості

Рядкові функції та їх використання