Возвращает позицию местоположения одной строки внутри другой в базе данных Access, причем поиск идет справа налево.
Синтаксис
InStrRev(stringcheck, stringmatch [, start[, compare]])
В синтаксисе функции InStrRev предусмотрены следующие аргументы.
Аргумент |
Описание |
---|---|
stringcheck |
Обязательный аргумент. Представляет собой строковое выражение, в котором выполняется поиск. |
stringmatch |
Обязательный аргумент. Представляет собой строковое выражение, которое требуется найти. |
start |
Необязательный аргумент. Представляет собой числовое выражение, задающее начальную позицию для каждой операции поиска. Если этот параметр пропущен, используется значение "–1", означающее начало поиска с последней позиции символа. Если аргумент start содержит значение Null, возникает ошибка. |
compare |
Необязательный аргумент. Представляет собой числовое значение, указывающее вид сравнения, которое выполняется при оценке подстрок. Если этот аргумент опущен, выполняется двоичное сравнение. Возможные значения см. в разделе "Параметры". |
Параметры
Аргумент compare может принимать следующие значения.
Константа |
Значение |
Описание |
---|---|---|
vbUseCompareOption |
–1 |
Выполняется сравнение с помощью параметра инструкции Option Compare. |
vbBinaryCompare |
0 |
Выполняется двоичное сравнение. |
vbTextCompare |
1 |
Выполняется текстовое сравнение. |
Возвращаемые значения
Если |
Функцией InStrRev возвращается |
---|---|
Длина аргумента stringcheck нулевая |
0 |
Значение аргумента stringcheck — Null |
Null |
Длина аргумента stringmatch нулевая |
start |
Значение аргумента stringmatch — Null |
Null |
Аргумент stringmatch не найден |
0 |
Значение аргумента stringmatch найдено в аргументе stringcheck |
Позиция найденного соответствия |
Значение параметра start больше, чем длина параметра StringMatch |
0 |
Замечания
Обратите внимание, что синтаксис функции InStrRev отличается от синтаксиса функции InStr.
Примеры запросов
Expression |
Результаты |
---|---|
SELECT Names_InstrRev.*, InStrRev(FullName,"S") AS Expr1 FROM [Names_InstrRev]; |
Возвращает позицию строки "S" из значений в столбце "FullName" из таблицы Name. |
SELECT Names_InstrRev.*, InStrRev(FullName,"S",10) AS InStrTest FROM [Names_InstrRev]; |
Возвращает позицию строки "S" из значений в столбце "FullName", начиная с позиции 10 из таблицы Name и отображается в столбце InStrTest. |