次の方法で共有


Resync メソッド

基になるデータベースから、現在の Recordset オブジェクトまたは Record オブジェクトの Fields コレクション内のデータを更新します。

構文

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

パラメーター

AffectRecords
省略可能。 どれだけのレコードに Resync メソッドが影響を及ぼすかを決定する AffectEnum 値。 既定値は adAffectAll です。 この値は Record オブジェクトの Fields コレクションの Resync メソッドでは使用できません。

ResyncValues
省略可能。 ResyncEnum 値。基となる値を上書きするかどうかを指定します。 既定値は adResyncAllValues です。

注釈

レコードセット

Resync メソッドを使って、現在の Recordset のレコードを基となるデータベースと再同期します。 これは、静的または順方向専用カーソルを使っていて、基となるデータベースの変更を確認する場合に便利です。

CursorLocation プロパティを adUseClient に設定すると、Resync は読み取り専用ではない Recordset オブジェクトのみに使用できるようになります。

Requery メソッドとは異なり、Resync メソッドを使用しても Recordset オブジェクトの基となるコマンドは再実行されません。 基となるデータベースの新しいレコードは表示されません。

再同期しようとして、基になるデータとの競合 (たとえば、レコードが別のユーザーによって削除されている) が原因で失敗した場合、プロバイダーは Errors コレクションに警告を返し、実行時エラーが発生します。 Filter プロパティ (adFilterConflictingRecords) と Status プロパティを使って、競合のあるレコードを特定します。

Unique TableResync Command の動的プロパティを設定し、複数のテーブルに対して JOIN 操作を実行した結果の Recordset がある場合、Resync メソッドを使うと、Unique Table プロパティで指定したテーブルに対してのみ、Resync Command プロパティに指定したコマンドが実行されます。

フィールド

Record オブジェクトの Fields コレクションの値を基となるデータ ソースと再同期するには、Resync メソッドを使います。 Count プロパティは、このメソッドの影響を受けません。

ResyncValuesadResyncAllValues (既定値) に設定すると、コレクション内の Field オブジェクトの UnderlyingValueValueOriginalValue プロパティが同期されます。 ResyncValuesadResyncUnderlyingValues に設定すると、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 プロパティ