ADO) (Index 属性

适用于:Access 2013、Office 2013

指示当前对 Recordset 对象有效的索引的名称。

设置和返回值

设置或返回一个 String 值,该值为索引名称。

备注

Index 属性命名的索引必须事先已经在 Recordset 对象的基本表上进行声明。 即索引必须已在程序中声明为 ADOX Index 对象,或在创建基本表时声明。

如果无法设置索引,则会发生运行时错误。 以下情况下无法设置 Index 属性:

  • WillChangeRecordsetRecordsetChangeComplete 事件处理程序中。

  • 如果 Recordset 仍在执行某个操作(可由 State 属性确定)。

  • 如果已通过 Filter 属性在 Recordset 上设置了筛选器。

如果关闭了 Recordset ,则始终能够成功设置 Index 属性,但是如果基础提供程序不支持索引,则 Recordset 将无法成功打开,或索引将无法使用。

如果可以设置索引,则可以更改当前行位置。 这将会导致 AbsolutePosition 属性的更新,并会导致生成 WillChangeRecordsetRecordsetChangeCompleteWillMoveMoveComplete 事件。

如果可以设置索引,并且 LockType 属性是 adLockPessimisticadLockOptimistic,则执行隐式 UpdateBatch 操作。 这会释放当前组和受影响的组。 释放任何现有筛选器,当前行位置将更改为重新排序的 Recordset 的第一行。

Index 属性与 Seek 方法一起使用。 如果基础提供程序不支持 Index 属性,因此 不支持 Seek 方法,请考虑改用 Find 方法。 使用 Supports (adIndex) 方法确定 Recordset 对象是否支持索引。

尽管二者均处理索引,但内置 Index 属性与动态 Optimize 属性无关。