スポンサーリンク

2008-12-24

Tips185 - [ExcelでDAOとSQL] 先頭のレコードから連続で検索する

先頭のレコードからFindFirstメソッドを使い検索を開始します。
見つかれば、Do Until のループ内で、FindNextメソッドを使い見つからなくなるまで検索を繰り返します。

■実行例
'データベースを開く
Set DB = OpenDatabase("C:\sample2.mdb")
Set rs = DB.OpenRecordset("table1", dbOpenDynaset)

'先頭から検索
rs.FindFirst "field3 =" & TextBox1
If rs.NoMatch Then
MsgBox "見つかりませんでした。"
Else
Do Until rs.NoMatch
'見つかったレコード位置と、フィールド1の内容を表示
Cells(lrow, 3) = rs.AbsolutePosition + 1 & " " & rs(0)
lrow = lrow + 1
rs.FindNext "field3 =" & TextBox1
Loop
End If

■実行画面