| INSTR関数で文字列を検索し最初に見つかった文字位置を返す | ||||
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
ダウンロード |
||||
Copyright(C) 2007-2008 FeedSoft