データベース操作(ADO)

Access VBA ADOを使用したレコード検索

ADOを使用したレコード検索

ADOを使用したレコードの検索プログラム例を説明します。

プログラム例

Private Sub Cmd1_Click()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

RS.Open “T_社員マスタ2013”, CN, adOpenStatic, adLockOptimistic ’*1

RS.Find “社員コード= ‘” & Me.社員コード & “‘”                                ‘*2

If RS.EOF = False Then                                                                ‘*3

Me.名前 = RS!名前                                                                      ‘*4

End If

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

プログラムの説明

*1 テーブル「T_社員マスタ2013」を開きます

*2 Findを使用して「Me.社員コード(フォーム上のテキストボックス)」内の値を「T_社員マスタ2013」のフィールド「社員コード」から検索します。

*3 EOF(ファイルの末尾)でなければ

*4 検索結果の「名前」をフォーム上の「Me.名前」に表示します。

Findを使用して検索する場合ですが、検索対象のテーブルなどに大量のデータがある場合は検索に非常に時間がかかってしまいます。
大量データの中からレコードを検索する場合はSQL文を使用して検索を行うことをお勧めします。