重新同步方法 (ADO)

适用于:Access 2013、Office 2013

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

语法

记录集。重新同步AffectRecordsResyncValues

记录字段。重新同步ResyncValues

参数

参数 说明
AffectRecords 可选。 AffectEnum 值,用于确定 Resync 方法将影响的记录数。 默认值为 adAffectAll。 对于 Record 对象的 Fields 集合的 Resync 方法,此值不可用。
ResyncValues 可选。 ResyncEnum 值,用于指定是否覆盖基础值。 默认值为 adResyncAllValues

备注

Recordset

使用 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 的行为。 如果 Field 对象的 Status 值为 adFieldPendingUnknownadFieldPendingInsert,则 Resync 无效。 如果对象的 Status 值为 adFieldPendingChangeadFieldPendingDelete ,则 Resync 会同步仍存在于数据源中的字段的数据值。

Resync 不会修改 Field 对象的 Status 值,除非在调用 Resync 时发生错误。 例如,如果字段不再存在,提供程序将为 Field 对象返回适当的 Status 值,如 adFieldDoesNotExist。 返回的 Status 值可能被逻辑合并在 Status 属性值内。