ADOでデータベースに接続し、Recordsetを使用して指定したレコードを抽出する記述 Recordsetで、指定のテーブルのレコードを指定の条件で抽出 Recordsetのオブジェクト変数.Filter = "フィールド名1 条件1 And / Or フィールド名2 条件2 ........" ・ステートメント 解除する際には、Recordsetのオブジェクト変数.Filter = ""と記述する カレントプロジェクトのデータベースに接続する場合の記述
今回の記述に関する前情報
何を行うか
利用時の書式
記述例における利用パーツ
→Do Loop
・メソッド
→Filter / MoveNext / Open / Close
注意点
代入する際には、全体的にダブルクォーテーションで囲むのをわすれない
【実践】指定のテーブルの指定のフィールドの値をFilterメソッドで抽出する記述例
テーブル「yubin_data_base」のフィールド「postcode」が「0600041」と「0600031」のレコードの
「postcode」「city」「addressline」の値をイミディエイトウィンドウに表示
▼取得対象テーブル「yubin_data_base」▼
▼記述例▼
Sub filter_currentdata()
Dim CNT As adodb.connection
Dim RST As adodb.Recordset
Set CNT = CurrentProject.connection
Set RST = New adodb.Recordset
RST.Open "yubin_data_base", CNT
RST.Filter = "postcode = '0600041' Or postcode = '0600031'"
Do Until RST.EOF
Debug.Print RST("postcode"), RST("city"), RST("addressline")
RST.MoveNext
Loop
RST.Close: CNT.Close
Set RST = Nothing: Set CNT = Nothing
End Sub
▼実行結果▼