| Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項 | |
|
| 引数 | 意味 | 指定 |
|---|---|---|
| recordset | Recordset オブジェクトを表すオブジェクト変数を指定します | 省略不可 |
| comparison | “<”、“<=”、“=”、“>=”、または “>” のいずれかを指定します | 省略不可 |
| key1, key2...key13 | 検索条件式を指定します | 省略不可 |
[ADO]
| 引数 | 意味 | 指定 |
|---|---|---|
| recordset | Recordset オブジェクトを表すオブジェクト変数を指定します | 省略不可 |
| KeyValues | インデックスに指定した列と照合する、1つまたは複数の値を指定します。複数の場合はArray関数を使用します | 省略不可 |
| SeekOption | 検索する時の条件を指定します。以下の表を参照 | 省略可 |
| 定数 | 値 | 説明 |
|---|---|---|
| adSeekFirstEQ | 1 | KeyValues と一致する最初のキーを検索します。 (既定値) |
| adSeekLastEQ | 2 | KeyValues と一致する最後のキーを検索します |
| adSeekAfterEQ | 4 | KeyValues と一致するキー、またはその直後のキーのどちらかを検索します |
| adSeekAfter | 8 | KeyValues と一致するキーの直後のキーを検索します |
| adSeekBeforeEQ | 16 | KeyValues と一致するキー、またはその直前のキーのどちらかを検索します |
| adSeekBefore | 32 | KeyValues と一致するキーの直前のキーを検索します |
CurrentDb(DAO)OpenRecordsetメソッド(DAO)
「成績簿」テーブルレコードを「生徒名」で検索します。

コマンドボタンクリック時イベントプロシージャを以下のように作成します。
Private Sub 実行_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim varRet As Variant
Dim varMatch As Variant
Set db = CurrentDb
Set rs = db.OpenRecordset("成績簿", dbOpenTable)
With rs
.Index = "生徒名" '--- A
.Seek "=", Me.生徒名検索
End With
If Not rs.NoMatch Then '--- B
With Me
.ID = rs!ID
.生徒名 = rs!生徒名
.総合成績 = rs!総合成績
End With
End If
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
End Sub

