重新同步方法

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

语法

  
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 属性值也会影响 Resync 的行为。 对于 Status 值为 adFieldPendingUnknown 或 adFieldPendingInsert 的 Field 对象,Resync 不起作用。 对于 adFieldPendingChange 或 adFieldPendingDelete 的 Status 值,Resync 会重新同步数据源中仍存在的字段的数据值。

除非调用 Resync 时出错,否则 Resync 不会修改 Field 对象的 Status 值。 例如,如果字段不再存在,提供程序将为 Field 对象返回一个适当的 Status 值,例如 adFieldDoesNotExist。 返回的 Status 值可以逻辑组合为 Status 属性的值。

应用于

另请参阅

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