データベース操作(DAO)

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

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

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

プログラム例

Private Sub Cmd1_Click()

Dim DB As DAO.Database
Dim RS As DAO.Recordset

Set DB = CurrentDb
Set RS = DB.OpenRecordset(“T_社員マスタ2013”, dbOpenDynaset)     ‘*1

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

If RS.NoMatch = False Then                                        ‘*3

Me.名前 = RS!名前                                                     ‘4

End If

RS.Close: Set RS = Nothing

End Sub

プログラムの説明

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

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

*3 NoMatch(検索結果がゼロ)でなければ

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

ADOとは違い、「FindFirst」を使用します。
こちらも大量データを対象とする場合には検索時間がかかりすぎてしまいます。
大量データからレコードを検索する場合はSQLのSELECT文を使用しましょう。