Index プロパティ

Recordset オブジェクトに対して現在有効になっているインデックスの名前を示します。

設定と戻り値

インデックスの名前である String の値を設定するか、または返します。

注釈

Index プロパティによって名前付けされたインデックスは、Recordset オブジェクトの基になるベース テーブルで以前に宣言されていなければなりません。 つまり、インデックスは、ADOX Index オブジェクトとして、あるいはベース テーブルが作成されたときに、プログラムによって宣言されていなければなりません。

インデックスを設定できない場合は、実行時エラーが発生します。 Index プロパティは、次の条件では設定できません。

  • WillChangeRecordset または RecordsetChangeComplete イベント ハンドラー内。

  • Recordset がまだ操作を実行している場合 (State プロパティによって確定できます)。

  • Recordset でフィルターが Filter プロパティで設定されている場合。

Index プロパティは Recordset が閉じている場合は常に正常に設定できますが、Recordset は正常に開くことができず、基盤となるプロバイダーがインデックスをサポートしていない場合、インデックスは使用できなくなります。

インデックスを設定できる場合、現在の行の位置は変わる場合があります。 これにより AbsolutePosition プロパティが更新されて、WillChangeRecordset イベント、 RecordsetChangeComplete イベント、WillMove イベント、MoveComplete イベントが発生します。

インデックスを設定でき、LockType プロパティが adLockPessimistic または adLockOptimistic の場合は、暗黙的な UpdateBatch 操作が実行されます。 これにより、現在のグループと影響を受けるグループが解放されます。 既存のフィルターが解放され、現在の行の位置は、並べ替えた Recordset の最初の行に変更されます。

Index プロパティは、Seek メソッドと組み合わせて使用されます。 基になるプロバイダーが Index プロパティをサポートしていないために Seek メソッドがサポートされていない場合は、Find メソッドを代わりに使用することを検討してください。 Recordset オブジェクトが Supports(adIndex) メソッドを使用したインデックスをサポートしているかどうかを調べます。

組み込み Index プロパティは動的な Optimize プロパティとは関係ありませんが、どちらもインデックスを扱います。

適用対象

Recordset オブジェクト (ADO)

参照

Seek メソッドおよび Index プロパティの例 (VB)
Index オブジェクト (ADOX)
Seek メソッド