Возвращает позицию местоположения одной строки внутри другой в базе данных 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 > Len(stringmatch) | 0 |
Замечания
Обратите внимание, что синтаксис функции InStrRev отличается от синтаксиса функции InStr.
Примеры запросов
| Выражение | Результаты |
|---|---|
| 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. |