次の方法で共有


Status プロパティ (ADO Field)

適用先: Access 2013、Office 2013

Field オブジェクトのステータスを示します。

戻り値

FieldStatusEnum 値を返します。 既定値は adFieldOK です。

注釈

Recordset オブジェクトのフィールドについては、このプロパティは常に adFieldOK を返します。

Record オブジェクトの Fields コレクションに対する追加や削除は、 Update メソッドが呼び出されるまでキャッシュされます。 Status プロパティを使用すると、正常に追加または削除されたフィールドを特定できます。

パフォーマンスを向上させるため、スキーマの変更は Update が呼び出されるまでキャッシュされ、その変更は共有的バッチ更新で反映されます。 Update メソッドが呼び出されなかった場合、サーバーは更新されません。 更新に失敗した場合は、エラーが返され、 Status プロパティは操作とエラー ステータス コードを組み合わせた値になります。 たとえば、 adFieldPendingInsertORadFieldPermissionDenied です。 各 FieldStatus プロパティを使用すると、 Field が追加、変更、または削除されなかった理由を調べることができます。 状態は、レコードでのみ意味を持って公開されます。Recordset ではなく Fields コレクション。Fields コレクション。

Field を追加、変更、または削除するときに 2 つの問題が発生する可能性があります。 ユーザーが Field を削除すると、 Fields コレクションから削除されたことを示すマークが付けられます。 ユーザーがアクセス許可を持たない Field を削除しようとしたために後続の更新プログラムがエラーを返した場合、フィールドの状態は adFieldPermissionDeniedORadFieldPendingDelete になります。 CancelUpdate メソッドを呼び出すと、元の値が復元され、 StatusadFieldOK になります。 同様に、新規 Field が追加され、不適切な値が割り当てられたために、 Update メソッドがエラーを返す場合があります。 この場合、新規 FieldFields コレクションに追加されますが、ステータスは adFieldPendingInsert および場合によっては adFieldCantCreate になります。 新規 Field に適切な値を指定し、 Update を再度呼び出すことができます。 代わりに Resync を呼び出すと、プロバイダーに再度クエリが実行されます。