InStr関数:Access

Access InStr関数は文字列から指定した文字列を検索し、最初に見つかった文字位置を返す関数です。

BackHome BackAccess関数


■ 構文
InStr([start, ]string1, string2[, compare])

■ 引数
start: (省略可) 検索の開始位置を数式で指定します。省略すると、先頭の文字から検索します。
string1: (必須)  検索対象の文字列を指定します。
string2: (必須)  検索する文字列を指定します。
compare: (省略可)  文字列の比較モードを指定する番号を設定します。
  指定した場合は、引数startも指定する必要があります
  省略すると、Option Compareステートメントの設定に応じて、比較モードが決まります

compareの定数
定数 値 説明
vbUseCompareOption :(-1) Option Compareステートメントの設定を使用して比較を行います。
vbBinaryCompare :(0) バイナリモードで比較を行います。
vbTextCompare :(1) テキストモードで比較を行います。
vbDatabaseCompare :(2) Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。

■ 戻り値
  • 0 : string1が長さ0の文字列 ("")
  • Null値 : string1がNull値
  • start : string2が長さ0の文字列 ("")
  • Null値 : string2がNull値
  • 0 : string2が見つからない
  • 見つかった文字列の位置 : string2 がstring1内で見つかったとき
  • 0 : startのがstring1の文字数を超えるとき

■ Access実行画面

検索対象文(テキスト0)から検索する文字(テキスト2)を検索し、検索結果(テキスト6)に表示します。
フォームINSTR

■ Access VBA 実行コード

Option Compare Database
Private Sub Form_Load()
    Me!テキスト0.SetFocus
    Me!テキスト0.Text = "Access関数 Instr: 指定した文字が何文字目にあるかを検索する関数"
    Me!テキスト2.SetFocus
    Me!テキスト2.Text = "文字"
End Sub
Private Sub コマンド5_Click()
    Dim ln1 As Integer
    Dim s1 As String
    Dim s2 As String
    Me!テキスト0.SetFocus
    s1 = Me!テキスト0.Text
    Me!テキスト2.SetFocus
    s2 = Me!テキスト2.Text
    ln1 = InStr(1, s1, s2)
    Me!テキスト6.SetFocus
    Me!テキスト6.Text = ln1
End Sub

BackHome BackAccess関数

Copyright(C) FeedSoft