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

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

Синтаксис

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

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

Аргумент

Опис

start

Необов’язковий аргумент. Числовий вираз, який задає початкове положення для кожного пошуку. Якщо його не задано, пошук починається з першого символу. Якщо аргумент start містить Null-значення, стається помилка. Аргумент start є обов’язковим, якщо задано аргумент compare.

string1

Обов’язковий аргумент. Рядковий вираз, який потрібно знайти.

string2

Обов’язковий аргумент. Шуканий рядковий вираз.

compare

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

Порада.:  В Access 2010 у побудовнику виразів є функція IntelliSense, за допомогою якої можна дізнатися, які аргументи необхідні для виразу. 

Параметри

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

Константа

Значення

Опис

vbUseCompareOption

–1

Виконує порівняння за допомогою параметра оператора Option Compare.

vbBinaryCompare

0

Виконує двійкове порівняння.

vbTextCompare

1

Виконує текстове порівняння.

vbDatabaseCompare

2

Лише для Microsoft Office Access 2007. Виконує порівняння на основі відомостей у базі даних.


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

Умова

Значення, яке повертає функція InStr

string1 має нульову довжину

0

string1 має Null-значення

Null-значення

string2 має нульову довжину

start

string2 має Null-значення

Null-значення

string2 не знайдено

0

string2 знайдено в string1

Положення, у якому знайдено збіг

start > string2

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). Щоб отримати докладні відомості про використання модуля 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.

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

Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Чи були ці відомості корисні?

Наскільки ви задоволені якістю перекладу?
Що вплинуло на ваші враження?

Дякуємо за ваш відгук!

×