Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

ADOを用いてレコード検索を行う方法 : VBAのTips解説



Find メソッド

Findメソッドとは、ダイナセットタイプ及びスナップショットタイプのRecordsetオブジェクトに対してレコード検索を行うメソッドです。DAOのFind系メソッドとほぼ同じですが、複数のフィールドに対しての検索はできません。また、Findメソッドを呼び出す前にカレントレコードの位置が設定されていない場合は、エラーが発生します。この場合は、事前にMoveFirstメソッドなど、行の位置を設定するメソッドを呼び出します。

  • 書式
Find (Criteria, SkipRows, SearchDirection, Start)
  • 引数
引数 意味 指定
Criteria 検索に使用する列の名前、検索条件を指定します。利用可能な比較演算子は、、">" (より大きい)、"<" (より小さい)、"=" (等しい)、">=" (以上)、"<=" (以下)、"<>" (等しくない)、または "like" (パターンマッチング) です 省略不可
SkipRows 検索を開始する、カレントレコード行を指定します。既定値は0です 省略可。省略時は、カレント行から検索が開始されます
SearchDirection 検索の方向を指定します 省略可。省略時は、カレント行から最後のレコードに向かって検索が開始されます
Start 検索の開始位置を指定します 省略可。省略時は、カレント行から検索が開始されます

○関連項目

  1. Connectionオブジェクト(ADO)
  2. Openメソッド(ADO)
  3. EOFプロパティ(ADO)

事例 ) 「顧客管理リスト」テーブルレコードを「会社名検索」コンボボックスで選択し表示する

「顧客管理リスト」テーブルレコードを「会社名検索」コンボボックスで選択し表示します。

  1. テーブルを作成します。
  2. ID、氏名、住所、電話番号、メールアドレスフィールドを作成します。
  3. 連結フォームを作成します。
  4. ID、氏名、住所、電話番号、メールアドレステキストボックスを作成します。
  5. コンボボックスを作成します。
  6. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 検索実行_Click()

   Dim cn As New ADODB.Connection
   Dim rs As New ADODB.Recordset
   Dim strRet As String

   Set cn = CurrentProject.Connection
   rs.Open "顧客管理リスト", cn, adOpenKeyset, adLockOptimistic
   strRet = "会社名='" & Me!会社名検索 & "'" ' --- A

   rs.Find strRet

   If Not rs.EOF Then
      With Me
        .ID = rs!ID
        .登録年月日 = rs!登録年月日
        .会社名 = rs!会社名
        .住所 = rs!住所
      End With
   End If

   rs.Close: Set rs = Nothing
   cn.Close: Set cn = Nothing

End Sub
解説
  1. FindFirstメソッドの検索条件を変数strRetに格納します。

動作確認

  1. フォームをビューモードで開きます。

  1. コンボボックスから会社名を選択し、[検索実行]ボタンをクリックします。
  2. 指定した条件のレコードが表示されます。

ページの先頭へ 前ページへ戻る


ADOを用いてレコード検索を行う方法 : VBAのTips解説


 

-Microsoft Access Club-

Parallels社PLESKコントロールパネルの操作情報を発信しています。
Parallels社PLESKコントロールパネルの操作情報を発信中・・・。