SQL = " SELECT INSTR(フィールド名,検索文字列) FROM テーブル名 "
又は、
SQL = " SELECT INSTR(フィールド名,検索文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
フィールド名から検索文字列を検索し見つかった場合はその文字位置を、見つからない場合は0が返ります。
「バター品薄姿が消える店も」から「品」を検索した場合、4が返ります。
「バター品薄姿が消える店も」から「消える」を検索した場合、8が返ります。
サンプルソフト
[実行時の画面]
「文字列を検索し最初に見つかった文字位置を返すINSTR関数」ボタンをクリックすると、
ニュースフィールドから「5」の文字を探します。
■実行画面
盗まれた55万円カメ無事生還 最後から4文字:5
若々しい タイ仕様のカローラ 最後から4文字:0
開花予測日は5月8日 最後から4文字:7
[ニュースデータベース テーブル]
データID ニュース
10 盗まれた55万円カメ無事生還
11 若々しい タイ仕様のカローラ
13 開花予測日は5月8日
[コード]
Option Compare Database
Private Sub コマンド8_Click()
Dim SQL As String
Dim rs As Recordset
SQL = "SELECT ニュース,INSTR(ニュース,5) FROM ニュースデータベース"
Set rs = CurrentDb.OpenRecordset(SQL)
Do Until rs.EOF
Me!テキスト1 = Me!テキスト1 & rs(0) & " 文字位置:" & rs(1) & vbCrLf
rs.MoveNext
Loop
Set rs = Nothing
End Sub
サンプルソフトのダウンロード