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 内で見つかった | 検索が見つかった位置 |
| Len(stringmatch) > 開始する | 0 |
解説
InStrRev 関数の構文は、InStr 関数の構文とは異なります。
クエリの例
| Expression | 結果 |
|---|---|
| SELECT Names_InstrRev.*, InStrRev(FullName,"S") AS Expr1 FROM [Names_InstrRev]; | テーブル名の列 "FullName" の値から文字列 "S" の位置を返します。 |
| SELECT Names_InstrRev.*, InStrRev(FullName,"S",10) AS InStrTest FROM [Names_InstrRev]; | 列 "FullName" の値から文字列 "S" の位置を返します。これは、テーブルの [名前] の位置 10 から始まり、列 InStrTest に表示されます。 |