Функція InStr

Повертає значення типу 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.
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

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

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×