重新同步方法

从基础数据库刷新当前 Recordset 对象中的数据,或 字段 集合 Record 对象。

语法

  
Recordset.Resync AffectRecords, ResyncValues Record.Fields.Resync ResyncValues  

参数

AffectRecords
可选。 一个 AffectEnum 值,该值确定 Resync 方法将影响多少条记录。 默认值为 adAffectAll。 此值不适用于 Record 对象的 Fields 集合的 Resync 方法。

ResyncValues
可选。 一个 ResyncEnum 值,该值指定是否覆盖基础值。 默认值为 adResyncAllValues

注解

记录集

使用 Resync 方法将当前 Recordset 中的记录与基础数据库重新同步。 如果使用静态游标或仅向前游标,但想要在基础数据库中看到任何更改,这非常有用。

如果将 CursorLocation 属性设置为 adUseClient则 Resync 仅适用于非只读 Recordset 对象。

Requery 方法不同, Resync 方法不会重新执行 Recordset 对象的基础命令。 基础数据库中的新记录将不可见。

如果尝试重新同步失败,因为与基础数据发生冲突(例如,记录已被其他用户删除),则提供程序会向 Errors 集合返回警告,并发生运行时错误。 使用 Filter 属性(adFilterConflictingRecords)和 Status 属性查找有冲突的记录。

如果设置了 Unique TableResync Command 动态属性,并且 Recordset 是对多个表执行 JOIN作的结果,则 Resync 方法将仅对 Unique Table 属性中指定的表执行 Resync Command 属性中给定的命令。

领域

使用 Resync 方法将 Record 对象的 Fields 集合的值与基础数据源重新同步。 Count 属性不受此方法影响。

如果 ResyncValues 设置为 adResyncAllValues (默认值),则会同步集合中 Field 对象的 UnderlyingValueValueOriginalValue 属性。 如果 ResyncValues 设置为 adResyncUnderlyingValues,则只会同步 UnderlyingValue 属性。

调用时每个 Field 对象的 Status 属性的值也会影响重新同步的行为。 对于状态值为 adFieldPendingUnknownadFieldPendingInsert 的Field 对象,Resync 不起作用。 对于 adFieldPendingChangeadFieldPendingDelete的状态值,重新同步数据源中仍然存在的字段的数据值。

除非调用 Resync 时发生错误,否则重新同步不会修改字段对象的状态值。 例如,如果字段不再存在,提供程序将为 Field 对象返回适当的 Status 值,例如 adFieldDoesNotExist。 返回 的状态 值可以在 Status 属性的值内以逻辑方式组合。

应用到

另请参阅

Resync 方法示例 (VB)
Resync 方法示例 (VC++)
Clear 方法 (ADO)
UnderlyingValue 属性