Index

(PWS4 IIS4 IIS5)
Index — Recordset オブジェクトに対して現在有効なインデックス名を示します。

構文

object.Index

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

文字列型 (String) の値を、インデックス名として設定します。また、値の取得も可能です。

説明

Index プロパティで指定したインデックスは、Recordset オブジェクトの基になるベーステーブルで、事前に宣言しておきます。つまり、インデックスは ADOX Index オブジェクトとしてプログラム的に宣言しておくか、ベーステーブルの作成時に宣言しておきます。

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

* WillChangeRecordset イベント ハンドラまたは RecordsetChangeComplete イベント ハンドラ内
* Recordset の操作が実行中 (State プロパティで判別可能)
* Filter プロパティにより Recordset にフィルタが設定されている

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

インデックスを設定すると、現在の行の位置が変更されることがあります。その場合は、AbsolutePosition プロパティが更新され、WillChangeRecordset イベント、RecordsetChangeComplete イベント、WillMove イベント、および MoveComplete イベントが生成されます。

インデックスの設定が可能で、LockType プロパティが adLockPessimistic または adLockOptimistic の場合は、UpdateBatch 操作が暗黙的に実行されます。これによって、カレントと、影響下のグループが解放されます。既存のフィルタがすべて解放され、現在の行の位置は、並べ替えられた Recordset の最初の行に移動します。

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

共にインデックスを扱いますが、組み込み Index プロパティは、ダイナミック プロパティおよび Optimize プロパティとは無関係です。