Resync 方法
從基礎資料庫重新整理目前的 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 Table 和 Resync Command 動態屬性,而且 Recordset 是在多個資料表上執行 JOIN 作業的結果,則 Resync 方法只會在 Unique Table 屬性中命名的資料表上執行 Resync Command 屬性中指定的命令。
欄位
使用 Resync 方法來重新同步 Record 物件 Fields 集合的值與基礎資料來源。 Count 屬性不會受到這個方法的影響。
如果 ResyncValues 設定為 adResyncAllValues (預設值),則會同步處理集合中 Field 物件的 UnderlyingValue、Value 和 OriginalValue 屬性。 如果 ResyncValues 設定為 adResyncUnderlyingValues,則只會同步處理 UnderlyingValue 屬性。
呼叫時,每個 Field 物件的 Status 屬性,也會影響 Resync 的行為。 若 Status 值為 adFieldPendingUnknown 或 adFieldPendingInsert 的 Field 物件,Resync 沒有任何作用。 若 Status 值為 adFieldPendingChange 或 adFieldPendingDelete,Resync 會同步處理資料來源仍存在的欄位資料值。
除非呼叫 Resync時 發生錯誤,否則 Resync 不會修改 Field 物件的 Status 值。 例如,如果欄位已不存在,提供者會針對 Field 物件傳回適當的 Status 值,例如adFieldDoesNotExist。 傳回的 Status 值可以在 Status 屬性的值內以邏輯方式結合。
套用至
另請參閱
Resync 方法範例 (VB)
Resync 方法範例 (VC++)
Clear 方法 (ADO)
UnderlyingValue 屬性