CancelUpdate

(PWS4 IIS4 IIS5)
CancelUpdate — Update メソッドを呼び出す前に行った、Recordset オブジェクトのカレント行または新規行、または Record オブジェクトの Fields コレクションに加えたすべての変更をキャンセルします。

構文

record.CancelUpdate

パラメータ

record
Recordset オブジェクを指定します。

説明

CancelUpdate メソッドを使って、カレント行に加えた変更をすべてキャンセルしたり、新規に追加した行を破棄します。Update メソッドを呼び出した後は、カレント行または新規行に加えた変更をキャンセルすることはできません。ただし、RollbackTrans メソッドでロールバックできるトランザクションの一部か、またはバッチ更新の一部である場合は除きます。バッチ更新の場合は、CancelUpdate メソッドまたは CancelBatch メソッドで Update をキャンセルできます。

新規行を追加しているときに CancelUpdate メソッドを呼び出すと、AddNew を呼び出す前にカレントであった行がカレント行になります。

編集モードでカレント レコードから移動する (たとえば、Move、NextRecordset、Close などを使用する) 場合は、CancelUpdate を使用してすべての保留中の変更をキャンセルすることができます。データ ソースの更新が成功しなかった場合 (たとえば、参照整合性違反によって削除の試みが失敗したことにより、Delete の呼び出しの後に Recordset が編集モードのままになった場合など) には、この処理が必要になる場合があります。

Recordの場合

CancelUpdate メソッドは、Field オブジェクトの保留中の挿入または削除をすべてキャンセルし、既存のフィールドの保留中の更新をキャンセルして元の値に戻します。Fields コレクションのすべてのフィールドの Status プロパティは、adFieldOK に設定されます。


CancelBatch

(PWS4 IIS4 IIS5)
CancelBatch — 保留中のバッチ更新をキャンセルします。

構文

recordset.CancelBatch AffectRecords

パラメータ

AffectRecords
省略可能です。CancelBatch メソッドで操作するレコード数を示す AffectEnum 値を指定します。

戻り値

値を返しません。

説明

CancelBatch メソッドを使って、バッチ更新モードの Recordset の保留中の更新をすべてキャンセルします。即時更新モードの Recordset では、adAffectCurrent を指定せずに CancelBatch メソッドを呼び出すと、エラーが発生します。

カレントレコードの編集中または新規レコードの追加中に CancelBatch メソッドを呼び出すと、まず、CancelUpdate メソッドが呼び出され、キャッシュされているすべての変更がキャンセルされます。その後で、Recordset の保留中の変更がすべてキャンセルされます。

CancelBatch メソッドの呼び出し後、新規レコードを追加中に呼び出した場合は特に、カレントレコードを特定できない可能性があります。このため、CancelBatch メソッドの実行後に、カレント レコードの位置を Recordset の特定の位置に設定することをお勧めします。たとえば、MoveFirst メソッドを呼び出します。

基になるデータとの競合 (たとえば、ほかのユーザーによってレコードが既に削除されている場合) が原因で未処理の更新がキャンセルできない場合、プロバイダは Errors コレクションに警告を返しますがプログラムの実行は停止しません。要求したすべてのレコードで競合が発生した場合にのみ、実行時エラーが発生します。競合しているレコードを特定するには、Filter プロパティ (adFilterAffectedRecords) と Status プロパティを使用します。


Cancel

(PWS4 IIS4 IIS5)
Cancel — 非同期メソッド呼び出しのうち、保留中のものの実行をキャンセルします。

構文

object.Cancel

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

Cancel メソッドを使って、非同期メソッド (adAsyncConnect、adAsyncExecute、または adAsyncFetch のオプションを指定して呼び出すメソッド) の呼び出しの実行を中止します。

説明

Recordset オブジェクを指定した場合、Openメソッドが中止されます。


AddNew

(PWS4 IIS4 IIS5)
AddNew — 更新可能な Recordset オブジェクトの新規レコードを作成します。

構文

recordset.AddNew FieldList, Values

パラメータ

recordset
Recordset オブジェクトを指定します。
FieldList
省略可能です。新しいレコード中のフィールド名を指定します。複数のフィールド名を指定するには、フィールド名、または位置を表す値の並びを配列として指定します。
Values
省略可能です。新規レコードのフィールド値を指定するか、または複数のフィールドの値を表す配列を指定します。Fieldlist が配列の場合、Values も同じ数の要素を持つ配列である必要があります。そうでない場合は、エラーが発生します。Fieldlist の配列と Values の配列で、フィールド名の順序とフィールド値の順序を一致させる必要があります。

説明

AddNew メソッドを使って、新規レコードの作成と初期化を行います。現在の Recordset オブジェクトにレコードを追加できるかどうかを確認するには、Supports メソッドに adAddNew (CursorOptionEnum 値) を指定して使用します。

AddNew メソッドを呼び出した後は新規レコードがカレント レコードになり、Update メソッドを呼び出した後もそのままカレント レコードになります。ブックマークをサポートしていない Recordset オブジェクトでは、別のレコードに移動すると、新規レコードにアクセスできなくなることがあります。カーソルの種類によっては、新規レコードにアクセスするために、Requery メソッドを呼び出す必要があります。

カレント レコードの編集中または新規レコードの追加中に AddNew メソッドを呼び出すと、ADO によって自動的に Update メソッドが呼び出されてすべての変更が保存され、その後で新規レコードが作成されます。

AddNew メソッドの動作は、Recordset オブジェクトの更新モード、および Fieldlist 引数と Values 引数を指定するかどうかによって異なります。

” 即時更新モード” (Update メソッドを呼び出したときに、基になるデータ ソースに変更が書き込まれる) では、Fieldlist 引数と Values 引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd (EditModeEnum 値) に設定されます。フィールド値のすべての変更はローカル メモリにキャッシュされます。Update メソッドを呼び出すと、新規レコードがデータベースに書き込まれ、EditMode プロパティが adEditNone (EditModeEnum 値) に再設定されます。Fieldlist 引数と Values 引数を指定した場合は、ADO によって新規レコードは直ちにデータベースに書き込まれ (Update メソッドの呼び出しは不要)、EditMode プロパティの値は adEditNone のまま変更されません。

“バッチ更新モード” (変更はキャッシュに格納され、UpdateBatch メソッドを呼び出したときに、基になるデータ ソースに一括で書き込まれる) では、Fieldlist 引数と Values 引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd に設定されます。フィールド値のすべての変更はローカルメモリにキャッシュされます。Update メソッドを呼び出すと、現在の Recordset に新規レコードが追加され、EditMode プロパティが adEditNone に再設定されます。ただし、UpdateBatch メソッドを呼び出すまでは、基になるデータベースに変更は書き込まれません。Fieldlist 引数と Values 引数を指定した場合は、ADO によって新規レコードがプロバイダに送られ、キャッシュに格納されます。基になるデータベースに新規レコードを書き込むには、UpdateBatch メソッドを呼び出す必要があります。


StayInSync

(PWS4 IIS4 IIS5)
StayInSync — 階層 Recordset オブジェクトで、親の行の位置が移動したときに、基になる子のレコード (つまり、”チャプタ”) への参照を変更するかどうかを示します。

構文

object.StayInSync

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

ブール型 (Boolean) の値を設定します。また、値の取得も可能です。既定値は True です。True の場合は、親の Recordset オブジェクトの行が変更されるとチャプタが更新されます。False の場合は、親の Recordset オブジェクトの行が変更されても、チャプタは以前のチャプタのデータを参照し続けます。

説明

このプロパティは、Microsoft Data Shaping Service for OLE DB によってサポートされるような階層 Recordset に適用されます。また、このプロパティは、子の Recordset を取得する前に親の Recordset に設定しておく必要があります。このプロパティにより、階層 Recordset 内での移動が簡単になります。


Status

(PWS4 IIS4 IIS5)
State — 対象になるすべてのオブジェクトについて、そのオブジェクトが開いているか、または閉じているかを示します。
非同期メソッドを実行している対象の全オブジェクトについて、そのオブジェクトが現在、接続、実行、取得のどの状態であるかを示します。

構文

object.Status

パラメータ

object
Recordset オブジェクを指定します。

戻り値

ObjectStateEnum 値となる長整数型 (Long) の値を返します。既定値は adStateClosed です。

説明

State プロパティを使えば、オブジェクトの現在の状態をいつでも調べることができます。

オブジェクトの State プロパティの値は組み合わせることができます。たとえば、ステートメントが実行中のときは、プロパティの値は adStateOpen と adStateExecuting の組み合わせになります。

State プロパティは読み取り専用です。


State

(PWS4 IIS4 IIS5)
State — 対象になるすべてのオブジェクトについて、そのオブジェクトが開いているか、または閉じているかを示します。

非同期メソッドを実行している対象の全オブジェクトについて、そのオブジェクトが現在、接続、実行、取得のどの状態であるかを示します。

構文

object.State

パラメータ

object
Recordset オブジェクを指定します。

戻り値

ObjectStateEnum 値となる長整数型 (Long) の値を返します。既定値は adStateClosed です。

説明

State プロパティを使えば、オブジェクトの現在の状態をいつでも調べることができます。

オブジェクトの State プロパティの値は組み合わせることができます。たとえば、ステートメントが実行中のときは、プロパティの値は adStateOpen と adStateExecuting の組み合わせになります。

State プロパティは読み取り専用です。


Source

(PWS4 IIS4 IIS5)
Source — Recordset オブジェクトのデータ ソースを示します。

構文

object.Source

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

文字列型 (String) の値または Command オブジェクトへの参照を設定します。Recordset のソースを表す文字列型 (String) のみが返されます。

説明

Recordset オブジェクトのデータ ソースを指定するには、Source プロパティを使います。Source プロパティには、Command オブジェクト変数、SQL ステートメント、ストアド プロシージャ、またはテーブル名を設定できます。

Source プロパティを Command オブジェクトに設定すると、Recordset オブジェクトの ActiveConnection プロパティは指定された Command オブジェクトの ActiveConnection プロパティの値を継承します。ただし、Source プロパティを読み込んでも Command オブジェクトは返されず、代わりに Source プロパティで設定した Command オブジェクトの CommandText プロパティが返されます。

Source プロパティが SQL ステートメント、ストアド プロシージャ、またはテーブル名の場合、Open メソッドを呼び出して適切な Options 引数を渡すことにより、パフォーマンスを最適化することができます。

Source プロパティは、Recordset オブジェクトが閉じている場合は読み取り/書き込み可能になり、開いている Recordset オブジェクトでは読み取り専用になります。


Sort

(PWS4 IIS4 IIS5)
Sort — Recordset をソートする 1 つ以上のフィールド名、および各フィールドのソート順序が昇順か降順かを示します。

構文

object.Sort

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

ソートする Recordset のフィールド名を表す文字列型 (String) の値を設定します。また、値の取得も可能です。それぞれの名前はカンマで区切ります。名前の後には、空白、およびキーワードとして、フィールドを昇順でソートする ASC または降順でソートする DESC を追加できます。既定では、キーワードを指定しない場合、フィールドは昇順でソートされます。

説明

このプロパティでは、CursorLocation プロパティに adUseClient を設定する必要があります。インデックスがない場合、Sort プロパティに指定された各フィールドに対して一時インデックスが作成されます。

データは、物理的に並べ替えられるわけではなく、インデックスで指定されている順序でアクセスされるだけなので、ソート処理は効率的です。

Sort プロパティに空文字列を設定すると、行は元の順序にリセットされ、一時インデックスは削除されます。既存のインデックスは削除されません。

Recordset に、[firstName]、[middleInitial]、[lastName] という 3 つのフィールドがあるとします。Sort プロパティに文字列 “lastName DESC, firstName ASC” を設定すると、Recordset は名字で降順にソートされ、次に名前で昇順にソートされます。ミドル ネームは無視されます。

キーワード ASC および DESC と競合するので、フィールド名に “ASC” または “DESC” は指定できません。名前が競合する場合は、Recordset を返すクエリで AS キーワードを使って、競合する名前のフィールドに別名を指定してください。


RecordCount

(PWS4 IIS4 IIS5)
RecordCount — Recordset オブジェクト内のレコード数を示します。

構文

object.RecordCount

パラメータ

object
Recordset オブジェクを指定します。

設定値と戻り値

Recordset のレコード数を示す長整数型 (Long) の値を返します。

説明

Recordset オブジェクトに存在するレコード数を調べるには、RecordCount プロパティを使います。ADO では、レコード数がわからない場合や、プロバイダやカーソルのタイプが RecordCount をサポートしていない場合、プロパティは -1 を返します。閉じている Recordset 上で RecordCount プロパティを取得すると、エラーが発生します。

Recordset オブジェクトがおよその位置付けまたはブックマークをサポートしている場合、つまり、Supports (adApproxPosition) または Supports (adBookmark) がそれぞれ True を返す場合、この RecordCount の値は、Recordset オブジェクトの値が完全に指定済みかどうかに関係なく、Recordset にあるレコードの正確な数を示します。Recordset オブジェクトがおよその位置付けをサポートしていない場合、すべてのレコードを取得して数えなければ正確な RecordCount 値がわからないので、リソースを大量に消費する可能性があります。

レコード数を算定できるかどうかには、Recordset オブジェクトのカーソルの種類が関係します。RecordCount プロパティは、前方スクロール タイプのカーソルの場合は -1 を返し、静的カーソルまたはキーセット カーソルの場合は実際の数を返し、動的カーソルの場合はデータ ソースに応じて -1 または実際の数を返します。