Recordsetで文字列を検索する : Access

※.DAO(データアクセスオブジェクト)を使用しますので、Access VBE画面のメニュー「ツール」-「参照設定」で「Microsoft DAO3.* Object Library」を追加しておいてください。

Find系のメソッドを使い、テキストを検索します。

Find系のメソッドには下記があります。

FindFirst 先頭のレコードから検索します
FindLast 末尾のレコードから検索します
FindNext 今のレコードポインタから末尾のレコード方向へ検索します
FindPrevious 今のレコードポインタから先頭のレコード方向へ検索します



BackHome BackTips Backメニュー

■ Access実行画面

製品名から入力された検索ワードを検索します。

見つかった場合、AbsolutePositionで見つかったレコード位置を表示します。
レコード検索

見つからなかった場合、「見つかりませんでした」のエラーメッセージが表示されています。
文字検索

■ Access VBA 実行コード

Option Compare Database
Option Explicit

Private Sub コマンド2_Click()
    Dim rs As Recordset
    If IsNull(Me!テキスト0) Then
        MsgBox "検索ワードを入力してください。"
        Exit Sub
    End If
    Set rs = CurrentDb.OpenRecordset("M_製品マスター", dbOpenDynaset)
    rs.FindFirst "製品名='" & Me!テキスト0 & "'"
    If rs.NoMatch Then
        MsgBox "見つかりませんでした"
    Else
        MsgBox rs.AbsolutePosition + 1 & "件目に見つかりました"
    End If
End Sub

BackHome BackTips Backメニュー

Copyright(C) FeedSoft