[Access 2016/2013/2010/2007]
AccessのInStr関数の使い方を紹介します。
スポンサーリンク
書式
InStr(開始位置, 文字列, 検索文字列, 比較モード)
文字列から検索文字列を検索し、最初に見つかった文字位置(先頭からその位置までの文字数)を返します。見つからなかった場合は、0を返します。
■戻り値の型:バリアント型 (内部処理形式 Long の Variant)
■引数
引数 | 指定 | 説明 |
---|---|---|
開始位置 start | 省略可 | 検索の開始位置を指定。省略した場合は、1文字目から検索を開始する。比較モードを指定した場合、開始位置は省略不可 |
文字列 string1 | 必須 | 検索対象となる文字列を指定 |
検索文字列 string2 | 必須 | 検索のキーワードとなる文字列を指定 |
比較モード compare | 省略可 | 文字列の比較モードを 表A の値で指定。クエリやフォームでの使用で省略した場合は「2」、モジュール(VBA)での使用で省略した場合は「-1」が指定されたものと見なされる |
■表A 引数 比較モード の設定値
値 | 定数 | 説明 |
---|---|---|
-1 | vbUseCompareOption | Option Compareステートメントの設定にしたがう(Option Compareステートメントの設定がない場合はバイナリモード) |
0 | vbBinaryCompare | バイナリモードで比較する(全角/半角、大文字/小文字、ひらがな/カタカナを区別する) |
1 | vbTextCompare | テキストモードで比較する(全角/半角、大文字/小文字、ひらがな/カタカナを区別しない) |
2 | vbDatabaseCompare | Accessの設定にしたがう(Accessの設定の既定値はテキストモード) |
使用例
使用例 | 戻り値 | 説明 |
---|---|---|
InStr("ざるそば", "そば") | 3 | 「そば」は3文字目 |
InStr("ざるそば", "うどん") | 0 | 「うどん」は見つからない |
InStr(1, "ざるそば", "ソバ", 0) | 0 | バイナリモードでは「そば」と「ソバ」は異なる |
InStr(1, "ざるそば", "ソバ", 1) | 3 | テキストモードでは「そば」と「ソバ」は同じ |
InStr(3, "AbcAbcAbc", "Abc") | 4 | 3文字目以降で最初に見つかった「Abc」の位置 |
InStr(10, "AbcAbcAbc", "Abc") | 0 | 開始位置が文字列の文字数を超えたときは0 |
InStr("", "Abc") | 0 | 文字列が長さ0の文字列「""」の場合、戻り値は0 |
InStr(Null, "Abc") | Null | 文字列がNull値の場合、戻り値はNull値 |
InStr("AbcAbcAbc", "") | 1 | 検索文字列が長さ0の文字列「""」の場合、戻り値は開始位置 |
InStr("AbcAbcAbc", Null) | Null | 検索文字列がNull値の場合、戻り値はNull値 |
実践例
以下のページを参照してください。
スポンサーリンク