Recordset オブジェクト (バージョン 2.0、2.1、2.5、2.6)
Dim recordset As ADODB.Recordset

Recordset オブジェクトは、実行したコマンドから返された、テーブル内にあるすべての行のグループ、またはレコードのグループを表します。

Recordset.AbsolutePage プロパティ (バージョン 2.0、2.1、2.5、2.6)

absolutepage = recordset.AbsolutePage
 

AbsolutePage プロパティは、レコードセットにある現在のページを示す値を返すか、設定します。

データタイプ

Long

 
説明

AbsolutePage プロパティを設定することにより、指定したページ内の最初のレコードにレコードポインタを移動するように ADO (ActiveX Data Objects : ActiveX データオブジェクト) に指示します。AbsolutePage プロパティに設定できる数値は、1 から、PageCount プロパティによって返される数値 (論理ページの合計数) までの範囲です。各ページのサイズは PageSize プロパティによって決まります。

AbsolutePage プロパティを読み取ることにより、レコードポインタが配置される論理ページを判断できます。AbsolutePage プロパティにより、現在のページを示す long 型の値または PositionEnum 型の値を返すことが可能です。

AbsolutePage プロパティの読み取り時にレコードポインタが BOF マーカーをポイントしている場合、値 adPosBOF (-2) が返されます。レコードポインタが EOF マーカーを指定している場合は、値 adPosEOF (-3) が返されます。レコードセットが空であるか、レコードポインタの位置が不明であるか、データプロバイダが AbsolutePage プロパティをサポートしていない場合は、値 adPosUnknown (-1) が返されます。

AbsolutePage プロパティは 1 から始まります。つまり、値 1 はレコードセットの最初のページを示します。

 
メモ

プロバイダによっては AbsolutePage プロパティをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、PositionEnum 列挙、Recordset.Count プロパティ、Recordset.Filter プロパティ、Recordset.PageSize プロパティ、Recordset.Supports メソッド

 
Recordset.AbsolutePosition プロパティ (バージョン 2.0、2.1、2.5、2.6)

absoluteposition = recordset.AbsolutePosition
 

AbsolutePosition プロパティは、レコードセット内の現在のレコードの位置を示す値を返すか、設定します。

データタイプ

Long

 
説明

AbsolutePosition プロパティを設定することにより、指定した順序のレコードに移動するように ADO に指示します。AbsolutePosition プロパティに設定できる数値は、1 から、RecordCount プロパティによって返される数値 (レコードセットに含まれているレコードの合計数) までの範囲です。

AbsolutePosition プロパティを設定すると、ADO は、先頭のレコードが指定したレコードである新しいレコードのセットを使用してキャッシュを再度読み込みます。キャッシュに読み込まれるレコード数は、CacheSize プロパティによって決まります。

AbsolutePosition プロパティを読み取ることにより、long 型の値または PositionEnum 型の値によってポインタがどの順序で配置されるかを判断できます。

AbsolutePosition プロパティの読み取り時にレコードポインタが BOF マーカーをポイントしている場合、値 adPosBOF (-2) が返されます。レコードポインタが EOF マーカーを指定している場合は、値 adPosEOF (-3) が返されます。レコードセットが空であるか、レコードポインタの位置が不明であるか、データプロバイダが AbsolutePosition プロパティをサポートしていない場合は、値 adPosUnknown (-1) が返されます。

前のレコードを削除する場合、またはレコードセットを要求する場合でも、AbsolutePosition が変わる可能性があるということに注意してください。レコードの位置を記録するためにブックマークの使用をお勧めします。

AbsolutePosition プロパティは 1 から始まります。つまり、値 1 はレコードセットの最初のレコードを示します。

 
メモ

プロバイダによっては AbsolutePosition プロパティをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、PositionEnum 列挙、Recordset.CacheSize プロパティ、Recordset.RecordCount プロパティ、Recordset.Supports メソッド

 
Recordset.ActiveCommand プロパティ (バージョン 2.0、2.1、2.5、2.6)

activecommand = recordset.ActiveCommand
 

ActiveCommand プロパティは、Recordset オブジェクトを追加するために使用した Command オブジェクトを返します。

データタイプ

Variant (Command オブジェクトを含む)

 
説明

読み取り専用の ActiveCommand プロパティは、Recordset オブジェクトを追加するために使用した Command オブジェクトを返します。

Command オブジェクトを Recordset オブジェクトの追加に使用しなかった場合は、Null オブジェクトへの参照が返されます。

 
Recordset.ActiveConnection プロパティ (バージョン 2.0、2.1、2.5、2.6)

Set recordset.ActiveConnection = connection
recordset.ActiveConnection = connenctionstring
 

ActiveConnection プロパティは、現在の Recordset オブジェクトの Connection オブジェクトを指定します。

データタイプ

String または Variant (現在の Connection オブジェクトを含む)

 
説明

ActiveConnection プロパティを読み込んで、文字列、または Connection オブジェクトへの参照のいずれかを返すことができます。Recordset オブジェクト開いているか、Command オブジェクトを使用して Recordset オブジェクトを作成した場合 (Source プロパティは Command オブジェクトに設定)、ActiveConnection プロパティを読み込むことはできません。その他の場合は常に、ActiveConnection プロパティを、文字列または Connection オブジェクトへの参照のいずれかに設定できます。文字列を使用する場合、その文字列は Connection オブジェクトの ConnectionString プロパティへ渡すことができる有効な接続文字列である必要があります。Recordset オブジェクトを開く前に、ActiveConnection プロパティを設定する必要があります。設定前の ActiveConnection プロパティの初期設定値は、Null オブジェクト参照です。

ActiveConnection をパラメータとして Recordset オブジェクトの Open メソッドに指定する場合、ActiveConnection プロパティは同じ値にアクセスします。Recordset オブジェクトを、Source プロパティの値として Command オブジェクトを使用して開いた場合、Recordset オブジェクトの ActiveConnection プロパティは Command オブジェクトの ActiveConnection プロパティの値にアクセスします。

 
関連項目

Conection.ConnectionString プロパティ、Recordset.Open メソッド、Recordset.Source プロパティ

 
Recordset.AddNew メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.AddNew Fields, Values
 

AddNew メソッドは、指定した値に設定される現在の Recordset オブジェクト内に新しいレコードを作成します。

パラメータ
Fields

AddNew メソッドへのオプションの 1 番目のパラメータとして、Variant、または Variant 配列のいずれかを指定します。このオブジェクトは、値を初期化する対象のフィールドの名前またはフィールドの配列をそれぞれ表します。このパラメータが Variant 配列の場合は、次のパラメータ Values も同じサイズの Variant 配列である必要があります。

Values

オプションの 2 番目のパラメータは、1 番目のパラメータ、Fields に対応して動作します。このパラメータも Variant または Variant 配列のいずれかで、1 番目のパラメータに含まれているフィールドの値を指定します。このパラメータに Variant 配列が含まれる場合、Fields パラメータも同じサイズの配列である必要があります。また、両方の配列のそれぞれの順序では、適切なフィールドを正しい値に合わせる必要があります。

 
説明

AddNew メソッドは Recordset オブジェクトのメンバーメソッドです。このメソッドは、Recordset オブジェクトで指定されるレコードセットに新しいレコードを追加します。AddNew メソッドを使用すると、Variant 配列の形式で、1 つのフィールドの名前と初期設定値、またはフィールドのリストのいずれかを、これらのフィールドに一致して対応する Variant 配列の値と共に含めることができます。

AddNew メソッドの呼び出し後、Update メソッドまたは AddNew メソッドを再度呼び出して、現在のレコードを Recordset オブジェクトに追加できます。AddNew メソッドを呼び出した後に Update メソッドを呼び出した場合、ADO は自動的に Update メソッドを呼び出してから、AddNew メソッドの呼び出しに進みます。Recordset オブジェクトにレコードを追加するだけでは、新しいレコードがデータソースに確実に入るとは限りません。これは、Recordset オブジェクトの更新モードによって異なります。

Recordset オブジェクトを即時更新モードに設定し、AddNew メソッドの呼び出しでパラメータを指定しない場合、その変更は、次の Update メソッドまたは AddNew メソッドの呼び出しの直後に実行されます。パラメータを使用して AddNew メソッドを呼び出す場合、次の Update メソッドを呼び出すまでは、値はローカルにキャッシュされます。AddNew メソッドの呼び出しと Update メソッドの呼び出しの間は、Update メソッドまたは AddNew メソッドの再度の呼び出しによって更新が完了するまで EditMode プロパティは adEditAdd に設定され、adEditNone にはリセットされません。

Recordset オブジェクトをバッチ更新モードに設定した場合は、Recordset オブジェクトの UpdateBatch メソッドを呼び出したときにのみ変更が実行されます。このモードでは、AddNew メソッドにパラメータが指定されていない場合、その変更はローカルでキャッシュされます。またこの場合、EditMode プロパティも adEditAdd に設定されます。Update メソッドを呼び出すと、その変更はプロバイダに送信されますが、データソースにはポストされず、同様に EditMode プロパティは adEditNone に設定されます。一方、パラメータを使用して AddNew メソッドを呼び出す場合、その変更はすぐにプロバイダに送信され、次回の UpdateBatch メソッドの呼び出しでポストされます。

Recordset オブジェクトがブックマークをサポートしている場合、新しいレコードはレコードセットの最後に追加されるので、そのレコードにはいつでもアクセスできます。Recordset オブジェクトがブックマークをサポートしていない場合は、いったんレコードから離れるとレコードにアクセスできなくなる可能性が十分あるため、そのレコードの位置に依存しないようにしてください。その代わり、Recordset オブジェクトの Requery メソッドを使用することにより、アプリケーションでフィールドを見つけることができます。

 
関連項目

EditModeEnum 列挙、Recordset.EditMode プロパティ、Recordset.Requery メソッド、Recordset.Update メソッド、Recordset.UpdateBatch メソッド

 
Recordset.BOF プロパティまたは Recordset.EOF プロパティ (バージョン 2.0、2.1、2.5、2.6)

Boolean = recordset.BOF
Boolean = recordset.EOF
 

BOF プロパティは、レコードポインタがレコードセットの最初のレコードの直前にあることを示します。EOF プロパティは、レコードポインタがレコードセットの最後のレコードの直後にあることを示します。

データタイプ

Boolean

 
説明

BOF プロパティと EOF プロパティはいずれも読み取り専用です。

BOF プロパティと EOF プロパティの両方が True である場合、現在のレコードセットは空です。Move メソッド (Move、MovePrevious、MoveFirst、MoveNext、または MovePrevious) を使用するとエラーが発生します。

BOF プロパティと EOF プロパティの両方が False である場合、レコードポインタはレコードセット内のいずれかのレコードをポイントできます。この場合、いずれの Move メソッドを使用してもエラーは発生しません。

BOF プロパティが True で、EOF プロパティが False である場合、レコードポインタはレコードセット内の最初のレコードの直前の位置をポイントしています。この場合、MovePrevious メソッドまたは Move メソッドを負の数と共に使用すると、エラーが発生します。

EOF プロパティが True で、BOF プロパティが False である場合、レコードポインタはレコードセット内の最後のレコードの直後の位置をポイントしています。この場合、MoveFirst メソッドまたは Move メソッドを正の数と共に使用すると、エラーが発生します。

レコードセットの最後のレコードを削除すると、レコードポインタを移動するまで、BOF プロパティと EOF プロパティは False に設定されたままになります。

MoveFirst の呼び出し、または MoveLast の呼び出しでレコードが見つからない場合、EOF プロパティと BOF プロパティのいずれも True に設定されます。

0 未満の値を使用した MovePrevious または Move によりレコードが見つからない場合、BOF プロパティは True に設定されます。

0 より大きい値を使用した MoveNext または Move によりレコードが見つからない場合、EOF プロパティは True に設定されます。

 
関連項目

Recordset.Move メソッド、Recordset.MoveFirst メソッド、Recordset.MoveLast メソッド、Recordset.MoveNext メソッド、Recordset.MovePrevious メソッド、Recordset.Open メソッド

 
Recordset.Bookmark プロパティ (バージョン 2.0、2.1、2.5、2.6)

bookmark = recordset.Bookmark
 

Bookmark プロパティは、レコードセット内の現在のレコードに固有の識別子を返します。Bookmark プロパティを既に読み込み済みの値に設定することにより、レコードポインタを元のレコードに再配置できます。

データタイプ

Variant

 
説明

Bookmark プロパティは、ブックマークをサポートしているレコードセット経由でのみ利用できます。ブックマークは、現在のレコードの位置を記録し、その後で現在のレコードを指定されたブックマークに戻します。

ブックマークは、互いのコピーである Recordset オブジェクト同士では互換的に使用できますが、その他の Recordset オブジェクトについては、同じソースから作成した場合でも互換的には使用できません。

Bookmark プロパティの戻り値は読み取りできず、同一のレコードの 2 つのブックマークは同じでない可能性があるので、相対的には使用できません。

 
メモ

レコードセットによっては Bookmark プロパティをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、Recordset.Supports メソッド

 
Recordset.CacheSize プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.CacheSize = cachesize
 

CacheSize プロパティは、システムメモリ内で ADO によってローカルにキャッシュされるレコードの数を示します。

データタイプ

Long

 
説明

CacheSize プロパティは、ADO で一度にローカルメモリに保存するレコード数を設定するか、読み込みます。CacheSize プロパティの値は最低 1 である必要があり、それ未満の値ではエラーが発生します。CacheSize プロパティの初期設定値は 1 です。

レコードセットを最初に開くと、CacheSize プロパティで指定したレコード数が収集されます。レコードポインタがこの数を超えて移動した後、別のレコードセットが返され、最初のレコードはレコードセット内で次のレコードになります。使用できるレコード数が少ない場合、CacheSize は収集されたレコードのみを要求します。

CacheSize プロパティはレコードセットの継続期間中変更できます。ただし、キャッシュに取得されたレコード数は、レコードポインタが現在のキャッシュの外部へ移動するまで変わりません。

キャッシュ内の値は、他のユーザーが実行した変更を反映しません。これを反映するには、Resync メソッドを使用します。

 
関連項目

Recordset.Resync メソッド

 
Recordset.Cancel メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Cancel
 

Cancel メソッドは、Recordset オブジェクトの非同期操作をキャンセルします。

説明

Cancel メソッドを呼び出すと、Open メソッドによって呼び出した Recordset オブジェクトの非同期操作をキャンセルできます。

 
関連項目

Recordset.Open メソッド

 
Recordset.CancelBatch メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.CancelBatch AffectRecords
 

CancelBatch メソッドは、現在の Recordset オブジェクトの現在保留中になっているバッチ更新をキャンセルします。

パラメータ
AffectRecords (AffectEnum)

オプションです。 adAffectCurrentadAffectGroup、または adAffectAll の値を使用した Enumerator です。

AffectRecords の値が adAffectCurrent の場合、CancelBatch メソッドの呼び出しは、レコードセットの現在のレコードの保留中の更新にのみ影響を与えます。

AffectRecords の値が adAffectGroup の場合、CancelBatch メソッドの呼び出しは、現在の Recordset オブジェクトの Filter プロパティで指定される保留中のレコードにのみ影響を与えます。このプロパティは、adAffectGroup パラメータを使用して呼び出す CancelBatch メソッド用に設定しておく必要があります。

AffectRecords の値が adAffectAll の場合、現在の Recordset オブジェクト内で更新保留中のすべてのレコード (Filter プロパティによって非表示にされたものも含む) は、CancelBatch メソッドの影響を受けます。

 
説明

CancelBatch メソッドを使用すると、バッチ更新モードから、現在の Recordset オブジェクトにある保留中の更新の一部またはすべてをキャンセルできます。ただし、即時更新モードの場合、このメソッドの呼び出しによりエラーが発生します。

CancelBatch メソッドの呼び出し時に CancelUpdate メソッドが呼び出されるので、バッチ内で追加した更新や新しいレコードは削除されます。したがって、現在のレコードの位置は無効になる可能性があります。有効なブックマーク、または MoveFirst などのメソッドの使用により、確実なレコードの位置に移動することをお勧めします。

CancelBatch メソッドの呼び出し中にランタイムエラーが発生した場合、現在のレコードセットから要求されたすべてのレコードに不一致が生じます。また、1 つまたは少数のレコードのみに不一致が生じる場合、Errors コレクションが作成されますが、ランタイムエラーは発生しません。

 
メモ

プロバイダによっては CancelBatch プロパティをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、Recordset.CancelUpdate メソッド、Recordset.Filter プロパティ、AffectEnum 列挙、Recordset.Supports メソッド

 
Recordset.CancelUpdate メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.CancelUpdate
 

CancelUpdate メソッドは、最後の AddNew メソッドまたは Update メソッドの呼び出し以降の、現在のバッチ更新モードへの変更をキャンセルします。

説明

Recordset オブジェクトの CancelUpdate メソッドは、Recordset の Update メソッドの呼び出し以降に、レコードに加えられた変更をキャンセルします。また、CancelUpdate メソッドは、AddNew メソッドによる新しいレコードの作成もキャンセルします。

現在のレコードの Update メソッドの前に、CancelUpdate メソッドを呼び出す必要があります。レコードへの変更をキャンセルするためのその他の唯一の方法は、Recordset オブジェクトの BeginTrans メソッドおよび RollbackTrans メソッドからトランザクション管理を使用することです。

 
関連項目

Recordset.AddNew メソッド、Recordset.Update メソッド

 
Recordset.Clone メソッド (バージョン 2.0、2.1、2.5、2.6)

Set cloned_recordset = original_recordset.Clone
 

Recordset オブジェクトの Clone メソッドは、現在の Recordset のクローンを返します。

戻り値

Recordset オブジェクト

 
説明

Recordset オブジェクトの Clone メソッドは、元の Recordset オブジェクトの正確な複数のコピーを作成します。同じレコードセット内で一度に複数のレコードにアクセスするときに、このメソッドを使用します。このメソッドは、同じレコードセットに別の新しい Recordset オブジェクトを作成するよりも効率的です。

クローンを作成したら、クローンのレコード位置は、レコードセットに含まれる最初のレコードに設定されます。

ブックマークをサポートしているレコードセットにのみクローンを作成できます。1 つのレコードセットのブックマークは、そのレコードセットのクローンに対しても有効です。その逆の場合も同じです。クローンを閉じても、元のレコードセットは閉じません。その逆の場合も同じです。

 
関連項目

LockTypeEnum 列挙

 
Recordset.Close メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Close
 

Close メソッドは、Recordset オブジェクトを閉じます。

説明

Close メソッドは、Connection オブジェクトまたは Recordset オブジェクトを閉じます。いずれかのオブジェクトでこのメソッドを呼び出すと、コネクションまたはレコードセットのすべての依存オブジェクトも閉じます。Close メソッドを使用してシステムリソースを開放しても、そのリソースはメモリ内に残ります。Connection オブジェクトまたは Recordset オブジェクトを閉じた後も、再度それらを開くことができます。オブジェクトをメモリから完全に削除するには、オブジェクトを Nothing に設定します。

Connection オブジェクトの Close メソッドを呼び出すと、関連するすべての Recordset オブジェクトは閉じますが、関連する Command オブジェクトは存続するため、ActiveConnection プロパティは Nothing に設定され、Command オブジェクトの Parameters コレクションはクリアされます。ただし、Open メソッドを使用すれば、データソースに接続できます。

開いている関連 Recordset オブジェクトを含む Connection オブジェクトを閉じた場合、Recordset オブジェクトの保留中の変更はロールバックされます。トランザクションの実行中に Connection オブジェクトの Close メソッドを呼び出すと、エラーが発生します。トランザクションの実行中に Connection オブジェクトが範囲外に出た場合、そのトランザクションは自動的にロールバックされます。

Recordset オブジェクトで Close メソッドを使用すると、そのオブジェクトは、データに対するユーザーの排他的アクセスを開放し、関連するデータを開放します。ただし、Close メソッドの後で、Recordset オブジェクトの Open メソッドを使用できます。

データソースが即時更新モードの場合、編集中に Close メソッドを呼び出すと、エラーが発生します。このエラーを回避するには、Update メソッドまたは CancelUpdate メソッドのいずれかを呼び出します。バッチ更新モードの場合、最後の UpdateBatch 以降のデータは失われます。

Close メソッドの呼び出し元の Recordset オブジェクトのクローンを作成した場合、クローンである Recordset オブジェクトは閉じません。その逆の場合も同じです。

 
関連項目

Recordset.ActiveConnection プロパティ、Recordset.CancelUpdate メソッド、Recordset.Open メソッド、Recordset.Update メソッド

 
Recordset.CompareBookmarks メソッド (バージョン 2.0、2.1、2.5、2.6)

result = recordset.CopmareBookmarks (Bookmark1, Bookmark2)
 

CompareBookmarks メソッドは、相互に関連するレコードセットに含まれている 2 つのブックマークの位置を判断します。

パラメータ
Bookmark1 (Variant)

比較する 1 行目のブックマークです。

Bookmark2 (Variant)

比較する 2 行目のブックマークです。

 
戻り値

CompareEnum

 
説明

CompareBookmark メソッドは、渡される 2 つのブックマークのいずれが最初のブックマークであるかを示す値を返します。ブックマークは、同じ Recordset オブジェクトと Recordset オブジェクトのクローン内では行に固有のものです。他のクローンによって作成されているわけではない異なる 2 つの Recordset のブックマークを比較しても、確実な結果は返されません。

Bookmark プロパティを読み取って現在の行のブックマークを取得します。

 
関連項目

CompareEnum 列挙、Recordset.Bookmark プロパティ、Recordset.Clone メソッド

 
Recordset.CursorLocation プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.CursorLocation = cursorlocation
 

CursorLocation プロパティは、カーソルサービスの位置を示します。

データタイプ

CursorLocationEnum (Long)

 
説明

CursorLocation プロパティの値は、付録 E に示されている有効な CursorLocationEnum 値のいずれかに設定できます。

CursorLocation プロパティの値は、閉じた Recordset オブジェクトに対しては読み取りおよび書き込み可能であり、開いた Recordset オブジェクトに対しては読み取り専用です。

Execute メソッドから返されるレコードセットは、元のオブジェクトから CursorLocation の値を継承します。Recordset オブジェクトは、値を確立した Connection オブジェクトからこの値を自動的に継承します。

 
関連項目

Command.Object メソッド、Connection.Execute メソッド、CursorLocationEnum 列挙、Recordset.Open メソッド

 
Recordset.CursorType プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.CursorLocation = cursorlocation
 

CursorType プロパティは、現在のレコードセットに使用するカーソルのタイプを示します。

データタイプ

CursorTypeEnum (Long)

 
説明

CursorType プロパティは、Recordset オブジェクトを開いたときに使用する必要があるカーソルのタイプを示します。このプロパティの値は、Recordset オブジェクトが閉じているときは読み取りおよび書き込み可能ですが、Recordset オブジェクトが開くと読み取り専用になります。CursorType プロパティの値は、付録 E に示されている CursorType 列挙のいずれかです。

選択したカーソルタイプを現在のデータプロバイダがサポートしていない場合は、Recordset オブジェクトを開いたときに CursorType プロパティの値が変更されます。必要な場合、この値はアプリケーションで読み取れます。この場合、一度 Recordset オブジェクトを閉じると、選択した元の値は CursorType プロパティに返されます。

Recordset オブジェクトの Supports メソッドを使用すると、選択したカーソルタイプでサポートされている機能を確認できます。カーソルタイプの詳細については、第 5 章を参照してください。

Dynamic カーソルは、Supports メソッドの説明のとおり adMovePrevious 機能をサポートしています。Forward Only カーソルは、Supports メソッドに示されている機能のいずれもサポートしていません。Keyset カーソルと Static カーソルは、Supports メソッドの説明のとおり、adBookmark、adHoldRecords、adMovePrevious、および adResync の機能をサポートしています。

Forward Only カーソルは、ブックマークレコードへ戻る機能がないためブックマークをサポートしていません。Keyset カーソルレコードと Static カーソルレコードは ADO によってブックマークをサポートし、Dynamic カーソルはデータプロバイダによってブックマークをサポートしています (サポートが有効な場合)。

 
メモ

CursorLocation プロパティが adUseClient に設定されている場合は、adOpenStatic CursorType 値のみを使用できます。

 
関連項目

Connection.CursorLocation プロパティ、CursorTypeEnum 列挙、Recordset.CursorLocation プロパティ、Recordset.Open メソッド、Recordset.Supports メソッド

 
Recordset.DataMember プロパティ RDM プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.DataMember = datamember
recordset.DataSource = datasource
 

DataMember プロパティは、Data Source プロパティで指定されたデータソース内で、Recordset オブジェクトの作成に必要なオブジェクトを示します。

データタイプ
String (DataMember プロパティ) DataSource (DataSource プロパティ)
 
説明

DataMember プロパティと DataSource プロパティは常に連動して使用されます。

DataSource プロパティは、DataMember で指定されたオブジェクトを含むデータソースを示します。

DataMember プロパティは、Recordset オブジェクトの作成に使用するデータソース内のオブジェクトを示します。

DataMember プロパティの設定時には、Recordset を閉じる必要があります。また、DataSource プロパティを DataMember プロパティより先に設定すると、エラーが発生します。

 
Recordset.Delete メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Delete AffectRecords
 

Delete メソッドは、レコードセット内の指定されたレコードを削除します。

パラメータ
AffectRecords (Affect Enum)

オプションです。adAffectCurrent または adAffectGroup の値を示します。

AffectRecords の値が adAffectCurrent の場合、CancelBatch メソッドの呼び出しは、レコードセットの現在のレコードの保留中の更新にのみ影響を与えます。

AffectRecords の値が adAffectGroup の場合、CancelBatch メソッドの呼び出しは、現在の Recordset オブジェクトの Filter プロパティで指定された保留中のレコードにのみ影響を与えます。 このプロパティは、adAffectGroup パラメータを使用して呼び出す CancelBatch メソッド用に設定しておく必要があります。

 
説明

Delete メソッドを Recordset オブジェクトと共に使用すると、レコードまたはレコードのグループが削除されます。Delete メソッドを Parameter オブジェクトと共に使用すると、指定された Parameter オブジェクトが Parameters コレクションから削除されます。

Delete メソッドを Recordset オブジェクトと共に使用すると、削除対象レコードに実際に削除用のマーキングが行われます。特定のレコードセットで削除が許可されない場合は、エラーが発生します。即時更新モードでは、その削除はすぐに実行されます。ただし、バッチ更新モードの場合は、レコードに削除用のマーキングが行われ、UpdateBatch メソッドが呼び出されるまでキャッシュされます。Filter プロパティを使用すると、削除されたレコードを表示できます。

レコードを削除した後も、現在のレコードの位置はまだ削除されたレコードにあります。いったんレコード位置から移動すると、そのレコードにはアクセスできなくなり、削除されたレコードを読み取ろうとするとエラーが発生します。トランザクション管理を BeginTrans と共に使用している場合、RollbackTrans メソッドを使用してレコードの削除をキャンセルできます。また、バッチ更新モードでは、CancelBatch メソッドを使用して削除をキャンセルできます。

別のユーザーによって既に削除されているレコードを削除しようとすると、ランタイムエラーは発生しませんが、代わりに Errors コレクションが警告と共に作成されます。ランタイムエラーは、削除要求されたすべてのレコードに何らかの理由で不一致が含まれる場合にのみ発生します。Filter プロパティを adFilterAffectedRecords 値および Status プロパティと共に使用すると、不一致を含むレコードを検索できます。

Delete メソッドは、Command オブジェクトの Parameters コレクションにのみ有効です。コレクションから削除するパラメータ名を文字列形式で指定します。

 
メモ

プロバイダによっては Delete メソッドをサポートしないものもあります。

 
関連項目

AffectEnum 列挙、Connection.RollbackTrans メソッド、CursorOptionEnum 列挙、Recordset.CancelBatch メソッド、Recordset.Filter プロパティ、Recordset.Status プロパティ、Recordset.Supports メソッド

 
Recordset.EditMode プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.EditMode = editmode
 

EditMode プロパティは、特定のレコードの現在の編集状態を示します。

データタイプ

EditModeEnum (Long)

 
説明

EditMode プロパティを使用すると、編集プロセスの中断時に現在のレコードが編集中かどうかを判断できます。この情報を使用すると、Update メソッドまたは CancelUpdate メソッドを呼び出す必要があるかどうかを判断できます。

EditMode プロパティの値は、付録 E に示されている EditModeEnum 列挙のいずれかです。

 
関連項目

EditModeEnum 列挙、Recordset.AddNew メソッド、Recordset.CancelUpdate メソッド、Recordset.Update メソッド

 
Recordset.EndOfRecordset イベント (バージョン 2.0、2.1、2.5、2.6)

EndOfRecordset(fMoreData As Boolean, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

EndOfRecordset イベントは、レコードセットの最後の位置を超えてレコードポインタを移動しようとすると呼び出されます。

パラメータ
fMoreData

アプリケーションによってさらにデータが追加され、現在のイベントが無効になる場合に、True に設定される VARIANT_BOOL 値です。つまり、このイベントが発生したときは、レコードポインタがレコードセットの外部に出たことを示しています。このとき、さらにレコードをレコードセットに追加し、この fMoreData パラメータを True に設定すると、操作を再度実行できます。

adStatus

現在の操作の状態を示す EventStatusEnum 値です。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトです。

 
関連項目

EventStatusEnum 列挙、Recordset.MoveNext メソッド

 
Recordset.EOF プロパティ (バージョン 2.0、2.1、2.5、2.6)
 

Recordset.BOF プロパティを参照してください。

Recordset.FetchComplete イベント (バージョン 2.0、2.1、2.5、2.6)

FetchComplete(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

FetchComplete イベントは、長い非同期操作 (取り込み) が完了して、すべてのレコードが返されたときに呼び出されます。

パラメータ
pError

adStatus パラメータが adStatusErrorsOccurred に設定されている場合に発生したエラーに関する詳細を含む Error オブジェクトです。

adStatus

現在の操作の状態を示す EventStatusEnum 値です。adStatus パラメータが adStatusOK に設定されている場合、操作は成功です。adStatus パラメータが adStatusErrorsOccurred に設定されている場合、操作は失敗し、pError オブジェクトにはエラーに関する詳細が含まれます。adStatus パラメータを adStatusUnwantedEvent に設定すると、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトです。

 
関連項目

EventStatusEnum 列挙

 
Recordset.FetchProgress イベント (バージョン 2.0、2.1、2.5、2.6)

FetchProgress(ByVal Progress As Long, _
ByVal MaxProgress As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

FetchProgress イベントは、取り込み状況を通知するために長い非同期操作 (取り込み) の間に呼び出されます。

パラメータ
Progress

現在までの操作で取得されたレコード数を示す long 型の値です。

MaxProgress

取得される可能性のあるレコードの最大数を示す long 型の値です。

adStatus

現在の操作の状態を示す EventStatusEnum 値です。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトです。

 
関連項目

EventStatusEnum 列挙、Recordset.FetchProgress イベント

 
Recordset.FieldChangeComplete イベント (バージョン 2.5、2.6)

FieldChangeComplete(ByVal cFields As Long, _
ByVal Fields As Variant, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

FetchChangeComplete イベントは、操作により Field オブジェクトの値が変更された後に呼び出されます。

パラメータ
cFields (Long)

Fields パラメータ内の Field オブジェクトの数を示します。

Fields (Variant 配列)

変更を待機中の Field オブジェクトを含みます。

pError (Error)

adStatus パラメータが adStatusErrorsOccurred に設定されている場合に発生したエラーに関する詳細を含みます。

adStatus (EventStatusEnum)

現在の操作の状態を示します。adStatus パラメータが adStatusOK に設定されている場合、操作は成功です。adStatus パラメータが adStatusErrorsOccurred に設定されている場合、操作は失敗し、pError オブジェクトにはエラーに関する詳細が含まれます。adStatus パラメータが adStatusCancel に設定されている場合、その操作はアプリケーションによる完了前にキャンセルされています。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventStatusEnum 列挙、Recordset.WillChangeField イベント、Recordset.Value、Recordset.Update

 
Recordset.Fields コレクション (バージョン 2.0、2.1、2.5、2.6)

record.Fields
 

Field コレクションは、現在の Recordset オブジェクト用の複数の Field オブジェクトを、Recordset オブジェクトの各列に 1 つずつ含みます。

データタイプ

Fields (Collection オブジェクト)

 
説明

Recordset オブジェクトの Fields コレクションは、Fields コレクションの Refresh メソッドを呼び出すことにより、Recordset オブジェクトを開く前に追加できます。

Field.Append メソッドの呼び出し、またはコレクションの一部に含まれていない Field オブジェクトの名前による参照のいずれかにより、Field オブジェクトをコレクションに追加できます。Field.Update メソッドを呼び出すと、可能な場合はデータソース内でフィールドがコレクションに追加されます。このときまで、Field.Status プロパティは adFieldPendingInsert を返します。

 
関連項目

Field.Append メソッド、Field.Refresh メソッド、Field.Update メソッド

 
Recordset.Filter プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.CancelBatch AffectRecords
 

Filter プロパティは、現在の Recordset オブジェクト内でレコードの選択をフィルタします。

データタイプ

Variant

 
説明

Filter プロパティを設定すると、カーソルタイプは現在のフィルタされたレコードセットに変わります。この場合、現在のレコードは Filter プロパティで指定された要求を満たす最初のレコードに変わるので、AbsolutePosition プロパティ、AbsolutePage プロパティ、RecordCount プロパティ、および PageCount プロパティが影響を受けます。

Filter プロパティには、次の 3 つのタイプの値のいずれかを指定できます。

  • AND キーワードまたは OR キーワードに接続された一連の句

  • ブックマークの値の配列

  • FilterGroupEnum 列挙値

句は SQL ステートメントの WHERE 句と類似しています。フィールド名、演算子、および値で構成されます。複数の句をグループ化し、AND キーワードおよび OR キーワードと共に結合することもできます。句に含まれるフィールド名は、現在のレコードセット内で有効なフィールド名である必要があり、フィールド名にスペースが含まれる場合は、[First Name] のように角かっこで囲みます。句の中の演算子は次のいずれかです。<><=>=<>=、または LIKE。句に含まれる値は、指定されたフィールド内のデータに似ています。数値には小数点、ドル記号、および浮動小数点表記を使用できます。データは #06/20/1973# のようにシャープ記号 (#) で囲み、文字列は 'Jason T.Roff' のように一重引用符で囲みます。

演算子として LIKE キーワードを使用する場合、アスタリスク (*) および パーセント記号 (%) のみをワイルドカードとして使用できますが、Jason* または *as* のように 2 つのうちの 1 つを値の最後に配置する必要があります。

Filter プロパティをブックマークの配列に設定する場合、そのブックマークは関連するレコードセット内で異なるレコードをポイントする、固有のものである必要があります。

Filter を FilterGroupEnum 列挙値に設定する場合、表 E-25 に示されているいずれかの定数値を選択します。

Filter プロパティは、別のユーザーによって削除されたレコードが原因でエラーを生じる可能性があります。この場合、ランタイムエラーは発生しません。代わりに Errors コレクションが警告と共に作成されます。ランタイムエラーは、フィルタ要求されたすべてのレコードに何らかの理由で不一致が含まれる場合にのみ発生します。Status プロパティを使用すると、不一致を含むレコードを検索できます。

 
関連項目

AffectEnum 列挙、FilterGroupEnum 列挙、Recordset.AbsolutePage プロパティ、Recordset.AbsolutePosition プロパティ、Recordset.CancelBatch メソッド、Recordset.Delete プロパティ、Recordset.PageCount プロパティ、Recordset.RecordCount プロパティ、Recordset.Resync メソッド、Recordset.UpdateBatch メソッド

 
Recordset.Find メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Find (Criteria, SkipRows, SearchDirections, Start)
 

Find メソッドは、指定された単数列の検索条件に一致する現在のレコードセット内の行にレコードポインタを移動します。

パラメータ
Criteria (文字列)

'Column Operator Value' の形式で単数列の検索条件を指定します。Column の部分は、Recordset オブジェクトに含まれる列の名前です。演算子は、><=>=<=<>、または LIKE です。値には文字列、浮動小数点数、または日付を書き込みできます。文字列は 1 つの文字列または番号記号 (#) で区切られ、日付は番号記号 (#) で区切られます。LIKE 演算子を使用する場合、アスタリスク (*) は ('*jr*''jr*') のように値の最後か、最初と最後の両方に使用できます。アスタリスクが値の最初にのみ使用されている場合は、エラーが発生します。

SkipRows (Long)

オプションです。Criteria パラメータに一致するレコードセットを検索する前にスキップする行の数を示します。初期設定値は 0 です。検索は現在の行で開始されます。

SearchDirection (SearchDirectionEnum)

オプションです。レコードセットの下方または上方のいずれを検索するかを示します。一致が見つからず下方の検索が行われる場合、レコードポインタは EOF マーカーをポイントします。上方の検索が行われて一致が見つからない場合は、レコードポインタは BOF マーカーをポイントします。デフォルトでは、下方の検索が行われます。

Start (Variant)

オプションです。検索の開始位置をブックマークの形式で指定します。このパラメータの初期設定値は現在の行です。

 
説明

Find メソッドの呼び出し前に現在のレコードを設定しない場合、エラーが発生します。Find メソッドの前に MoveFirst メソッドを呼び出すことをお勧めします。

Find メソッドは、単数列の検索条件にのみ使用できます。

プロバイダによっては Bookmarks をサポートしないものもあるので、上方の検索ができない可能性もあります。Supports メソッドを使用すると、使用する Find 操作を現在のデータプロバイダがサポートできるかどうかを判断できます。

 
関連項目

CursorOptionEnum 列挙、Recordset.MoveFirst メソッド、Recordset.Supports メソッド、SearchDirectionEnum 列挙

 
Recordset.GetRows メソッド (バージョン 2.0、2.1、2.5、2.6)

Set record_array = recordset.GetRows(Rows, Start, Fields)
 

Recordset オブジェクトの GetRows メソッドは、開いている Recordset オブジェクトから複数のレコードを配列形式で返します。

パラメータ
Rows (Long)

オプションです。取得するレコード数を示します。このパラメータの初期設定値は adGetRowsRest (-1 の値) です。

Start (String または Variant)

オプションです。GetRows メソッドを開始する必要があるブックマークを評価します。

Fields (Variant)

オプションです。GetRows メソッドで各レコードについて返す必要があるフィールドを指定します。1 つのフィールド名、1 つのフィールド順序、フィールド名の配列、またはフィールド順序の配列を表します。

 
戻り値
Variant (2 次元配列)
 
説明

Recordset オブジェクトの GetRows メソッドは、同じ Recordset オブジェクトから複数のレコードを 2 次元配列内に返します。このレコードは、ADO で自動的にサイズが設定される Variant 配列形式で返されます。最初の下付き文字はフィールドです。2 番目の下付き文字はレコード数です。返されるデータは読み取り専用です。

最初のパラメータで返されるレコード数を指定できます。この値がレコード数よりも大きい場合は、残りのレコードのみが返されます。

選択した Recordset オブジェクトがブックマークをサポートしている場合、レコードの Bookmark プロパティの値を渡すことで開始位置を指定できます。

GetRows の呼び出し後、レコードがない場合以外は、レコードポインタは次の読み取られていないレコードに設定されます。その場合、EOF プロパティは True に設定されます。

最後のパラメータ Fields は、GetRows メソッドで返される 1 つのフィールドまたはフィールドのグループを表します。これは、フィールド名、フィールド順序、フィールド名の配列、またはフィールド順序の配列を使用して実行されます。

 
メモ

プロバイダによっては Find メソッドをサポートしないものもあります。

 
関連項目

BookmarkEnum 列挙、CursorOptionEnum 列挙、GetRowsOptionEnum 列挙、Recordset.Bookmark プロパティ、Recordset.EOF プロパティ、Recordset.Supports メソッド

 
Recordset.GetString メソッド (バージョン 2.0、2.1、2.5、2.6)

Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, _
RowDelimiter, NullExpr)
 

GetString メソッドは、Recordset オブジェクト全体を文字列値として返します。

パラメータ
StringFormat (StringFormatEnum)

返された Recordset オブジェクトのフォーマットを文字列形式で示します。

NumRows

オプションです。文字列に変換される行数を示します。このパラメータの値がない場合、または Recordset オブジェクト内のレコードの合計数よりも大きい場合、すべてのレコードが変換されます。

ColumnDelimeter

オプションです。StringFormat パラメータが adClipString に設定されている場合にのみ使用します。列間に使用される区切りを示します。タブ文字がデフォルトの文字です。

RowDelimeter

オプションです。StringFormat パラメータが adClipString に設定されている場合にのみ使用します。行間に使用される区切りを示します。改行文字がデフォルトの文字です。

NullExpr

オプションです。StringFormat パラメータが adClipString に設定されている場合にのみ使用します。Null 文字の置換に使用される文字列を示します。デフォルトでは、このパラメータは空の文字列です。

 
戻り値

Variant

 
説明

GetString メソッドは、Recordset オブジェクトのコンテンツを文字列の値に変換します。

 
関連項目

StringFormatEnum 列挙

 
Recordset.Index プロパティ (バージョン 2.1、2.5、2.6)

recordset.Index = index
 

Index プロパティは、特定のレコードセットの現在のインデックスを設定します。

データタイプ

String

 
説明

Index プロパティは、読み取りおよび書き込み可能です。ただし、WillRecordsetChange イベント内や RecordsetChangeComplete イベント内では、または非同期実行中には設定できません。

Index プロパティを Seek メソッドと共に使用すると、順番に動作する Find メソッドとは対照的に、基になっているテーブルのインデックス構造を利用できます。

Index を設定すると AbsolutePosition プロパティの値が変わり、レコードポインタの位置が変わる可能性があります。また、WillRecordsetChange、RecordsetChangeComplete、WillMove、および MoveComplete の各イベントが発生します。

LockType プロパティが adLockPessimistic または adLockOptimistic に設定されている場合、UpdateBatch メソッドが呼び出され、適用される可能性のあるフィルタが解放されます。また、レコードポインタは、インデックス付きレコードセットの最初のレコードに移動します。

 
メモ

プロバイダによってはインデックスをサポートしないものもあり、それらのプロバイダはすべて Index プロパティをサポートしていません。

 
関連項目

CursorOptionEnum 列挙、Recordset.MoveComplete イベント、Recordset.RecordsetChangeComplete イベント、Recordset.Seek メソッド、Recordset.UpdateBatch メソッド、Recordset.WillMove イベント、Recordset.WillRecordsetChange イベント、Recordset.Supports メソッド

 
Recordset.LockType プロパティ (バージョン 2.0、2.1、2.5、2.6)

locktype = recordset.LockType
 

LockType プロパティは、編集時にレコードに設定されるロックのタイプを示します。

データタイプ

LockTypeEnum (Long)

 
説明

LockType プロパティは、Recordset オブジェクトが閉じているときは読み取りおよび書き込み可能ですが、オブジェクトが開くと読み取り専用になります。LockType プロパティは、表 E-29 に示すいずれかの値です。

 
メモ

プロバイダによっては、すべてのレコードロックのタイプをサポートしないものもあります。この場合、データプロバイダは異なるタイプのロックを自動的に選択できます。Supports プロパティで、利用できるデータプロバイダの機能を確認します。

 
関連項目

LockTypeEnum 列挙、Recordset.Open メソッド、Recordset.Supports メソッド、Recordset.Update メソッド

 
Recordset.MarshalOptions プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.MarshalOptions = marshaloptions
 

MarshalOptions プロパティは、サーバーにマーシャルバックするレコードを示します。

データタイプ

MarshalOptionsEnum (Long)

 
説明

MarshalOptions プロパティは、付録 E に示すいずれかの MarshalOptionsEnum 列挙値です。

 
関連項目

MarshalOptionsEnum 列挙

 
Recordset.MaxRecords プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.MaxRecords = maxrecords
 

MaxRecords プロパティは、クエリーからレコードセットへ返されるレコードの最大数を示します。

データタイプ

Long

 
説明

MaxRecords プロパティは、Recordset オブジェクトが開いているときは読み取りおよび書き込み可能ですが、オブジェクトが閉じると読み取り専用になります。値 0 (デフォルト) は、すべての有効なレコードがクエリーから返されることを示します。

 
Recordset.Move メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Move NumRecords, Start
 

Recordset オブジェクトの Move メソッドは、指定されている Recordset オブジェクト内でレコードポインタの位置を移動します。

パラメータ
NumRecords (Long)

レポートポインタを移動させるレコード数を指定します。

Start (文字列または Variant)

オプションです。レポートポインタの移動元となるブックマークを表します。

 
説明

Recordset オブジェクトの Move メソッドは、レコードポインタを指定したレコード数だけ移動させます。NumRecords パラメータが 0 未満の場合、ポインタは指定された数だけ前に移動します。NumRecords パラメータが 0 より大きい場合、レコードポインタは指定されたレコード数だけ前に移動します。

現在の Recordset オブジェクトがブックマークをサポートしている場合、Start パラメータで移動を開始する位置を示すことができます。Start パラメータは、現在の Recordset オブジェクト内で有効なブックマークに設定する必要があり、レコードポインタはその位置から指定されたレコード数だけ移動します。ブックマークを使用しない場合、レコードポインタは現在のレコードから移動します。

最初のレコードの前の位置に移動しようとすると、最初のレコードの前のレコードに移動します。つまり BOF となります。最後のレコードの位置を超えて移動しようとすると、レコードポインタは最後のレコードの後のレコードに移動します。つまり EOF となります。いずれの場合も、Move メソッドを使用して BOF または EOF を超えて移動しようとすると、エラーが発生します。

CacheSize プロパティがデータプロバイダからローカルでキャッシュレコードに設定され、キャッシュの外部に出る NumRecords を渡す場合、ADO はデータプロバイダから新しいレコードグループを強制的に取得します。受け取るレコード数は CacheSize プロパティによって決まります。これは、ローカルキャッシュを使用しながら、Start パラメータを使用する場合にも起こります。受け取る最初のレコードは、この場合、指定されたリンク先のレコードです。

Recordset オブジェクトが転送専用であっても、リンク先のレコードが現在のキャッシュにある限り、0 未満の NumRecords 値を渡すことができます。レコードが現在のキャッシュよりも前にある場合、エラーが発生します。

 
メモ

プロバイダによっては Move メソッドをサポートしないものもあります。

 
関連項目

BookmarkEnum 列挙、Recordset.Bookmark プロパティ、Recordset.CacheSize プロパティ

 
Recordset.MoveComplete イベント (バージョン 2.0、2.1、2.5、2.6)

MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

MoveComplete イベントは、操作により Recordset オブジェクト内のレコードポインタの位置が変更された後に呼び出されます。

パラメータ
adReason (EventReasonEnum)

このイベントの理由を示します。adReason パラメータの適切な値は次のとおりです。adRsnMoveFirstadRsnMoveLastadRsnMoveNextadRsnMovePreviousadRsnMove、および adRsnRequery

pError (Error)

adStatus パラメータが adStatusErrorsOccurred に設定されている場合に発生したエラーに関する詳細を含みます。

adStatus (EventStatusEnum)

現在の操作の状態を示します。adStatus パラメータが adStatusOK に設定されている場合、操作は成功です。adStatus パラメータが adStatusErrorsOccurred に設定されている場合、操作は失敗し、pError オブジェクトにはエラーに関する詳細が含まれます。adStatus パラメータが adStatusCancelに設定されている場合、その操作はアプリケーションによる完了前にキャンセルされています。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、Recordset.AbsolutePage プロパティ、Recordset.AbsolutePosition プロパティ、Recordset.AddNew メソッド、Recordset.Bookmark メソッド、Recordset.Filter プロパティ、Recordset.Index プロパティ、Recordset.Open メソッド、Recordset.Move メソッド、Recordset.MoveFirst メソッド、Recordset.MoveLast メソッド、Recordset.MoveNext メソッド、Recordset.MovePrevious メソッド、Recordset.Requery メソッド、Recordset.WillMove イベント

 
Recordset.MoveFirst メソッド RMF メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.MoveFirst
recordset.MoveLast
recordset.MoveNext
recordset.MovePrevious
 

Recordset オブジェクトの MoveFirst メソッド、MoveLast メソッド、MoveNext メソッド、および MovePrevious メソッドは、レコードポインタを最初、最後、次、および前のレコードにそれぞれ移動し、そのレコードを現在のレコードにします。

説明

Recordset オブジェクトの MoveFirst メソッド、MoveLast メソッド、MoveNext メソッド、および MovePrevious メソッドを使用すると、指定された開いている Recordset オブジェクト内を自由に移動できます。

MoveFirst メソッドは、レコードセットの最初のレコードに移動し、そのレコードを現在のレコードにします。

MoveLast メソッドは、レコードセットの最後のレコードに移動し、そのレコードを現在のレコードにします。このメソッドを使用するには、Recordset オブジェクトがブックマークをサポートしている必要があります。サポートしていない場合、MoveLast メソッドを使用しようとするとエラーが発生します。

MoveNext メソッドは、レコードセットの次のレコードに移動し、そのレコードを現在のレコードにします。MoveNext の呼び出し前に、現在のレコードがレコードセットの最後のレコードである場合、レコードポインタは、レコードセットの最後のレコードの後のレコードに移動し、EOF プロパティは True に設定されます。EOF を過ぎて移動しようとすると、エラーが発生します。

MovePrevious メソッドは、レコードセットの現在のレコードの直前のレコードに移動します。したがって、このレコードは現在のレコードに設定されます。このメソッドを使用するには、レコードセットがブックマークまたは後方へのカーソル移動をサポートしている必要があります。サポートしていない場合、エラーが発生します。MovePrevious メソッドを呼び出す前に、現在のレコードがレコードセットの最初のレコードである場合、レコードポインタは最初のレコードの直前のレコードに設定され、BOF プロパティは True に設定されます。レコードセットの最初よりも前に移動しようとすると、エラーが発生します。

 
メモ

プロバイダによっては MoveFirst メソッドと MovePrevious メソッドをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、Recordset.BOF プロパティ、Recordset.EOF プロパティ、Recordset.Supports メソッド

 
Recordset.NextRecordset メソッド (バージョン 2.0、2.1、2.5、2.6)

Set resulting_recordset = recordset.NextRecordset(RecordsAffected)
 

Recordset オブジェクトの NextRecordset メソッドは、一連のコマンドを実行することにより次のレコードセットを返します。

recordset.MoveFirst
パラメータ
RecordsAffected (Long)

現在の操作に影響を与えるレコード数に設定します。データプロバイダがこれを行います。

 
説明

Recordset オブジェクトの NextRecordset メソッドを使用すると、複合コマンドステートメントか、複数の結果を返すストアドプロシージャで、次のレコードセットを取得できます。複合コマンドステートメントの例は次のとおりです。

SELECT * FROM upstairs; SELECT * FROM downstairs

Execute メソッドまたは Open メソッドのいずれかで最初に作成されたレコードセットは、この複合ステートメントの最初の SQL ステートメントのみに基づいた Recordset オブジェクトを返します。NextRecordset を呼び出して、追加の各レコードセットを取得する必要があります。Recordset オブジェクトを閉じたときに残りのステートメントがある場合、それらのステートメントは実行されません。

NextRecordset メソッドは、レコードセットがリストにある限り、引き続きレコードセットを返します。行を返すステートメントの実行が成功し、その結果が 0 レコードの場合、Recordset オブジェクトの EOF プロパティと BOF プロパティはいずれも True に設定されます。行を返さないステートメントの実行が成功すると、Recordset オブジェクトは Nothing に設定されませんが、EOF プロパティは True に設定されます。

複合コマンドステートメントにステートメントがない場合、返される Recordset オブジェクトは Nothing に設定されます。

即時更新モードで編集中である場合、Update メソッドまたは CancelUpdate メソッドを呼び出した後に、次のレコードセットを要求する必要があります。そうでない場合は、エラーが発生します。

複合コマンドステートメント用のパラメータは、通常のステートメントのように渡されます。つまり、すべてのパラメータを、ステートメント全体に渡って Parameters コレクションに適切な順序で指定する必要があります。さらに、レコードセットのすべての結果を読み取ってから、出力されたパラメータ値を読み取る必要があります。

 
関連項目

Recordset.Update メソッド、Recordset.CancelUpdate メソッド、Recordset.BOF プロパティ、Recordset.EOF プロパティ

 
Recordset.Open メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Open Source, ActiveConnection, CursorType, LockType, Options
 

Open メソッドは、Recordset オブジェクト内でカーソルを開きます。

パラメータ
Source (Variant)

オプションです。Recordset オブジェクトを開くために使用される実際のデータを示します。これは、Command オブジェクト、SQL ステートメント、テーブル名、ストアドプロシージャ、URL、ファイル名、または以前に存続していた Recordset オブジェクトを含む Stream オブジェクトです。

ActiveConnection (Variant)

オプションです。Recordset オブジェクトが独自の Connection オブジェクトを作成するときに使用する、開いている Connection オブジェクトまたは接続文字列を指定します。

CursorType (CursorTypeEnum)

オプションです。Recordset オブジェクトを開くときに使用するカーソルのタイプを示します。デフォルトでは、この値は adLockReadOnly になります。

LockType (LockTypeEnum)

オプションです。開いている Recordset オブジェクトで使用するロックを指定します。adLockReadOnly 列挙値は、このパラメータの初期設定値です。

Options (Long -- CommandTypeEnum および ExecuteOptionEnum)

オプションです。Source パラメータで指定するデータのタイプを指定します。さらに、Recordset オブジェクトを非同期で開く必要があることも示します。Command オブジェクトが Recordset オブジェクトのソースでない場合の Options パラメータの初期設定値は adCmdFile です。

 
説明

Source パラメータ、ActiveConnection パラメータ、CursorType パラメータ、および LockType パラメータには、Recordset オブジェクト内に一致するプロパティがあります。Open メソッドの呼び出しでパラメータが省略されている場合、個々の値は対応するプロパティから取得されます。ただし、特定のパラメータに対して値が指定されている場合、プロパティ値に保存されている以前の値はこの値によって上書きされます。

Recordset オブジェクトのソースは、次のいずれかです。

  • Command オブジェクト

  • SQL ステートメント

  • ストアドプロシージャ

  • テーブル名

  • URL

  • ファイル名

  • Stream オブジェクト (以前に存続していた Recordset オブジェクトのコンテンツを含む)

Recordset オブジェクトを開くために Command オブジェクト以外のソースを使用している場合は、Options パラメータでデータソースを指定します。データソースを指定しない場合、ADO ではデータプロバイダを繰り返し呼び出し、開いているデータのタイプを判断する必要があります。

ファイルを Recordset オブジェクトのソースとして指定する場合、完全パス名、相対パス名、場合によっては URL 値 (http://www.domain.com) を使用して指定できます。

ActiveConnection パラメータは、Command オブジェクトを指定しない場合にのみ使用します。実際には、有効な Command オブジェクトが Source プロパティに設定されている場合、このパラメータは読み取り専用になります。

ActiveConnection パラメータは、既に開いている Connection オブジェクトまたは接続文字列のいずれかであり、Recordset オブジェクトの新しい Connection オブジェクトを開くために使用されます。

Recordset オブジェクトを開いた後に ActiveConnection プロパティの値を変更して、レコードセットに対する更新を別のデータソースに送信することができます。ただし、Recordset オブジェクトを開くと、残りのパラメータとそれに対応するプロパティは読み取り専用になります。

また、ExecuteOptionEnum 列挙から adAsyncFetch 列挙値を追加することにより、Recordset オブジェクトを非同期で開くこともできます。

空のときに Recordset オブジェクトを開くと、BOF プロパティと EOF プロパティの両方が True に設定されます。Close メソッドを呼び出して、Recordset オブジェクトを閉じます。Recordset オブジェクトはメモリから削除されません。再度開くことができます。Recordset オブジェクトをメモリから削除するには、オブジェクトを Nothing に設定します。

Stream オブジェクトで Recordset オブジェクトを開くと、指定された ExecuteOptionEnum 値に関係なく、Recordset オブジェクトは自動的に同期的に開かれます。また、Stream オブジェクトから Recordset オブジェクトを開くときは、Open メソッドに他のパラメータを指定しないでください。

 
関連項目

CommandTypeEnum 列挙、CursorTypeEnum 列挙、ExecuteOptionEnum、LockTypeEnum 列挙、Recordset.ActiveConnection プロパティ、Recordset.BOF プロパティ、Recordset.Close メソッド、Recordset.CursorType プロパティ、Recordset.EOF プロパティ、Recordset.LockType プロパティ、Recordset.Source プロパティ

 
Recordset.PageCount プロパティ (バージョン 2.0、2.1、2.5、2.6)

pagecount = recordset.PageCount
 

PageCount プロパティは、現在の Recordset オブジェクトにある論理ページ数を返します。

データタイプ

Long

 
説明

PageCount プロパティは、レコードセットに含まれているデータの論理ページ数を示す値を返します。ページは、ページごとのレコード数 (PageSize プロパティによって決まる) で分割されたレコードセットに含まれているレコード数によって決まります。

最後のページに PageSize プロパティのレコード数が含まれていない場合でも、そのページは PageCount プロパティでページとしてカウントされます。

 
戻り値

Recordset オブジェクトが PageCount プロパティをサポートしていない場合、戻り値は -1 です。これは、ページ数を決定できなかったことを示します。

 
関連項目

Recordset.AbsolutePage プロパティ、Recordset.PageSize プロパティ

 
Recordset.PageSize プロパティ (バージョン 2.0、2.1、2.5、2.6)

pagesize = recordset.PageSize
 

PageSize プロパティは、論理ページに含まれているレコード数を示します。

データタイプ

Long

 
説明

PageSize プロパティは、レコードセット内の論理ページに属しているレコード数を決定します。初期設定値は 10 です。このプロパティは常に設定可能で、AbsolutePage プロパティと共に使用すると、指定されたページの最初のレコードに移動できます。

 
関連項目

Recordset.AbsolutePage プロパティ、Recordset.PageCount プロパティ

 
Recordset.Properties コレクション (バージョン 2.0、2.1、2.5、2.6)

Set properties = recordset.Properties
 

Properties コレクションは、現在使用されているプロバイダの Recordset オブジェクトに固有の属性を含みます。

データタイプ

Properties (Collection オブジェクト)

 
説明

Properties コレクションクラスは、データプロバイダの Recordset オブジェクトに固有の各プロパティに対する、Property クラスのインスタンスを含みます。

Command オブジェクトの ActiveConnection プロパティが、開いている Connection オブジェクトまたは有効な接続文字列の値に設定されるまで、Command オブジェクトの Properties コレクションは追加されません。

 
関連項目

Command.ActiveConnection プロパティ

 
Recordset.RecordChangeComplete イベント (バージョン 2.0、2.1、2.5、2.6)

RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

RecordChangeComplete イベントは、操作により Recordset オブジェクトのレコードが変更された後に呼び出されます。

パラメータ
adReason (EventReasonEnum)

このイベントの理由を示します。adReason パラメータの適切な値は次のとおりです。adRsnAddNewadRsnDeleteadRsnUpdateadRsnUndoUpdateadRsnUndoAddNewadRsnUndoDelete、および adRsnFirstChange

cRecords (Long)

このイベントを発生させた操作の影響を受けるレコード数を示します。

pError (Error)

adStatus パラメータが adStatusErrorsOccurred に設定されている場合に発生したエラーに関する詳細を含みます。

adStatus (EventStatusEnum)

現在の操作の状態を示します。adStatus パラメータが adStatusOK に設定されている場合、操作は成功です。adStatus パラメータが adStatusErrorsOccurred に設定されている場合、操作は失敗し、pError オブジェクトにはエラーに関する詳細が含まれます。adStatus パラメータが adStatusCancelに設定されている場合、その操作はアプリケーションによる完了前にキャンセルされています。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、Recordset.AddNew メソッド、Recordset.CancelBatch メソッド、Recordset.CancelUpdate メソッド、Recordset.Delete メソッド、Recordset.WillChangeRecord イベント、Recordset.Update メソッド、Recordset.UpdateBatch メソッド

 
Recordset.RecordsetChangeComplete イベント (バージョン 2.0、2.1、2.5、2.6)

RecordsetChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

RecordsetChangeComplete イベントは、操作により Recordset オブジェクトが変更された後に呼び出されます。

パラメータ
adReason (EventReasonEnum)

このイベントの理由を示します。adReason パラメータの適切な値は次のとおりです。adRsnReQueryadRsnReSynchadRsnClose、および adRsnOpen

pError (Error)

adStatus パラメータが adStatusErrorsOccurred に設定されている場合に発生したエラーに関する詳細を含みます。

adStatus (EventReasonEnum)

現在の操作の状態を示します。adStatus パラメータが adStatusOK に設定されている場合、操作は成功です。adStatus パラメータが adStatusErrorsOccurred に設定されている場合、操作は失敗し、pError オブジェクトにはエラーに関する詳細が含まれます。adStatus パラメータが adStatusCancelに設定されている場合、その操作はアプリケーションによる完了前にキャンセルされています。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、Recordset.Open メソッド、Recordset.Requery メソッド、Recordset.WillChangeRecordset イベント

 
Recordset.RecordCount プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordcount = recordset.RecordCount
 

RecordCount プロパティは、現在の Recordset オブジェクトのレコード数を返します。

データタイプ

Long

 
説明

プロバイダまたはカーソルが RecordCount プロパティをサポートしていない場合、またはレコード数を ADO で判断できない場合は、-1 が返されます。

実際のレコード数は、常に Keyset カーソルまたは Static カーソルの RecordCount プロパティで返されますが、-1 は常に Forward Only カーソルに返されます。Dynamic カーソルは、データソースに応じて -1 または実際のレコード数を返すことができます。

現在の Recordset オブジェクトが、近似位置指定 (Supports -- adApproxPosition) またはブックマーク (Supports -- adBookmark) をサポートしている場合のみ、RecordCount はレコードセットのレコード数を効率的に報告します。サポートしていない場合、ADO はすべてのレコードを読み込んでカウントする必要があるので、このプロパティは多くのリソースを使用します。

 
Recordset.Requery メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Requery
 
説明

Recordset オブジェクトの Requery メソッドは、最初にレコードセットを作成したコマンドを再度実行して、レコードセットの更新を起動します。 このメソッドは、Close メソッドに続いて Open メソッドを呼び出すのと同じ効果があります。

新しいレコードを追加するか、既にあるレコードを編集している場合、Requery メソッドを呼び出すと、エラーが発生します。

Recordset オブジェクトが開いている間に、CursorType や LockType などの読み取り専用のプロパティを変更する場合は、Close メソッドを呼び出し、プロパティを編集して、Open メソッドを呼び出すことにより、Recordset オブジェクトを手動でいったん閉じてから再度開く必要があります。

 
関連項目

ExecuteOptionEnum

 
Recordset.Resync メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Resync AffectRecords
 

Recordset オブジェクトの Resync メソッドは、基になるデータソースからレコードセットのデータを更新します。

パラメータ
AffectRecords (AffectEnum)

オプションです。 adAffectCurrent (1)、adAffectGroup (2)、または adAffectAll (3、デフォルト) の値を持つ、タイプ AffectEnum の Enumerator です。

AffectRecords の値が adAffectCurrent の場合、Resync メソッドの呼び出しは、レコードセットの現在のレコード用の保留中の更新にのみ影響を与えます。

AffectRecords の値が adAffectGroup の場合、Resync メソッドの呼び出しは、現在の Recordset オブジェクトの Filter プロパティで指定されている保留中のレコードにのみ影響を与えます。このプロパティは、adAffectGroup パラメータで呼び出される Resync メソッドに既に設定されている必要があります。

AffectRecords の値が adAffectAll の場合、現在の Recordset オブジェクト内で更新保留中のすべてのレコード (Filter プロパティによって非表示にされたものも含む) は、Resync メソッドの影響を受けます。

 
説明

Recordset オブジェクトの Resync メソッドは、現在のレコードセットのレコードを、基になるデータソースで見つかったレコードと再同期します。この機能は、Static または Forward Only のいずれかのカーソルがあり、データソースのレコードが他のユーザーによって変更されているかどうかを確認する場合に非常に便利です。

Resync メソッドは、データソースに追加されたレコードを表示するわけではなく、既にあるレコードを単に更新するだけです。したがって、Resync メソッドは、最初にレコードセットを作成した基になるコマンドを再実行しません。

Resync メソッドが別のユーザーによって削除されたレコードを読み込もうとしても、ランタイムエラーは発生しません。代わりに Errors コレクションが警告と共に作成されます。ランタイムエラーは、更新要求されたすべてのレコードに何らかの理由で不一致が含まれる場合にのみ発生します。Filter プロパティを adFilterAffectedRecords 値および Status プロパティと共に使用すると、不一致を含むレコードを検索できます。

 
メモ

プロバイダによっては Resync メソッドをサポートしないものもあります。

 
関連項目

ADCPROP_UPDATERESYNC_ENUM 列挙、AffectEnum 列挙、CursorOptionEnum 列挙、Recordset.Supports メソッド、ResyncEnum 列挙

 
Recordset.Save メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Save Destination, PersistFormat
 

Save メソッドは、現在の Recordset オブジェクトをファイルまたは Stream オブジェクトに保存します。

パラメータ
Destination (Variant)

オプションです。作成するファイルの名前、または保存された Recordset オブジェクトを受け取る Stream オブジェクトのいずれかです。

PersistFormat (PersistFormatEnum)

オプションです。Recordset オブジェクトを保存するときのフォーマットを示します。初期設定値は ADTG ですが、XML も使用できます。

 
説明

Save メソッドは、Open Recordset オブジェクト上で呼び出す必要があります。最初に Save メソッドを呼び出す際は、Destination パラメータを指定できますが、その後の呼び出しではこのパラメータを省略する必要があります。同じ Recordset オブジェクトで同じリンク先名が使用されている場合はエラーが発生しますが、異なる 2 つの名前が使用されている場合は、いずれのファイルも Close メソッドが呼び出されるまで開いたままになります。Save メソッドの最初の呼び出しでリンク先の名前を省略すると、Recordset オブジェクトのソース名を持つファイルが作成されます。

Filter プロパティを使用して Recordset オブジェクトを保存すると、表示されているレコードのみが保存されます。階層レコードセットを保存すると、現在の子 Recordset、その子 Recordset、および親 Recordset のすべてが保存されます。子 Recordset を保存すると、その子およびその子の複数の子のみが保存されます。

Recordset オブジェクトに対する非同期操作の実行中に Save メソッドを呼び出すと、Save メソッドはその操作が完了するまで待機してから、Recordset オブジェクトを存続しようします。Recordset オブジェクトが存続されると、そのレコードポインタはレコードセットの最初のレコードをポイントします。

より良い結果を得るには、CursorLocation プロパティをクライアントに設定します。データプロバイダが Recordset オブジェクトの保存に必要な機能をサポートしていない場合は、カーソルサービスがサポートします。サーバーをカーソル位置として使用する場合、通常は、単一のテーブルの挿入、削除、または更新のみが可能です。なお、Resync メソッドは利用できません。

Microsoft では、階層レコードセットを XML フォーマットで維持する際に、そのレコードセットに保留中の更新が含まれているか、レコードセットがパラメータ化された階層 Recordset オブジェクトである場合は、その Recordset を保存できないと警告しています。

 
関連項目

PersistFormatEnum 列挙、Recordset.Close メソッド、Recordset.CursorLocation プロパティ、Recordset.Filter プロパティ、Recordset.Source プロパティ

 
Recordset.Seek メソッド (バージョン 2.1、2.5、2.6)

recordset.Seek KeyValues, SeekOptions
 

Seek メソッドは、レコードポインタを、指定されたインデックスに一致した Recordset オブジェクトのレコードに素早く変更します。

パラメータ
KeyValues (Variant)

レコードを検索するための、Recordset.Index 値と共に使用される値を示します。

SeekOptions (SeekEnum)

レコードの検索時に使用される比較のタイプを示します。

 
説明

Seek メソッドは、Recordset オブジェクトの Index プロパティと共に使用されます。現在のレコードセットがインデックスをサポートしている場合、Seek メソッドを使用できます。Recordset.Supports (adSeek) メソッドの呼び出しの値を確認して、現在の Recordset オブジェクトがこのメソッドをサポートしているかどうかを判断します。

Index プロパティは、Seek メソッドで使用されるインデックスを示します。Seek メソッドの最初のパラメータ、Variant 型の値の配列では、現在使用されているインデックス内の各列に 1 つの値を指定する必要があります。

レコードが見つからない場合、レコードポインタは EOF マーカーに配置されます。

 
メモ

Seek メソッドは、CommandTypeEnum 列挙値、adCmdTableDirect で開かれているサーバー側のクライアントのみを対象として使用できます。

プロバイダによっては Seek メソッドをサポートしないものもあります。

 
関連項目

CommandTypeEnum 列挙、CursorOptionEnum 列挙、Recordset.EOF プロパティ、Recordset.Index プロパティ、SeekEnum 列挙、Recordset.Supports メソッド

 
Recordset.Sort プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.Sort = sortstring
 

Sort プロパティは、フィールド名でレコードセットをソートします。

データタイプ

String

 
説明

Sort プロパティを設定すると、フィールドの昇順または降順にレコードセットをソートできます。Sort プロパティには、SQL ステートメントのソート句と同じ文字列を使用できます。各フィールドはコンマで区切られ、各フィールド名の後に ASC キーワードまたは DESC キーワードが付きます。ASC または DESC キーワードの指定がない場合は、ASC が推測されます。

Sort プロパティを空の文字列 (") に設定すると、レコードセットからソートが削除され、順序がデフォルトに戻されます。

たとえば、Sort プロパティの値として "Company ASC, Contact DESC" と指定すると、レコードセットは会社で昇順に、次に連絡先で降順にソートされます。

Sort プロパティは、レコードセット内でデータを並べ替えません。代わりに、CursorLocation プロパティが adUseClient に設定されている場合、インデックスがまだ設定されていない各フィールドに対して、一時インデックスを作成します。

 
メモ

プロバイダによっては Sort プロパティをサポートしないものもあります。

 
関連項目

Recordset.CursorLocation プロパティ

 
Recordset.Source プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.Source = source
 

Source プロパティは、Recordset オブジェクトのデータのソースを返します。

データタイプ
String (Let、Get) Command (Set)
 
説明

Recordset オブジェクトの場合、Source プロパティはレコードセットのデータのソースを指定します。Recordset オブジェクトの Source プロパティは、Recordset オブジェクトが閉じているときは読み取りおよび書き込み可能ですが、オブジェクトが開くと読み取り専用になります。

Recordset オブジェクトの Source プロパティの値は、次のいずれかです。

  • Command オブジェクト変数

  • SQL ステートメント

  • ストアドプロシージャ名

  • テーブル名

  • ファイルまたは URL

Source プロパティが Command オブジェクトに設定されている場合、Recordset オブジェクトの ActiveConnection プロパティは、Command オブジェクトの ActiveConnection プロパティからその値を取得しますが、Source プロパティの読み込みでは Command オブジェクトを返しません。代わりに、Source プロパティの設定に使用した関連する Command オブジェクトの CommandText プロパティを返します。

Source プロパティが SQL ステートメント、ストアドプロシージャ名、またはテーブル名に設定されている場合、それらを Open メソッドの Options パラメータに設定して、Recordset オブジェクトのパフォーマンスを最適化することをお勧めします。

 
関連項目

Recordset.Open メソッド

 
Recordset.State プロパティ (バージョン 2.0、2.1、2.5、2.6)

state = recordset.State
 

State プロパティは、Recordset オブジェクトの現在の状態を示します。

データタイプ

ObjectStateEnum

 
説明

読み取り専用の State プロパティは、現在の Recordset オブジェクトが開いているか閉じているかを示します。

 
関連項目

ObjectStateEnum 列挙

 
Recordset.Status プロパティ (バージョン 2.0、2.1、2.5、2.6)

status = recordset.Status
 

Status プロパティは、バルク操作に関する現在のレコードの状態を示します。

データタイプ

RecordStatusEnum

 
説明

Status プロパティは、付録 E に示す RecordStatusEnum 列挙値に設定できます。

Status プロパティは、バッチ操作中に更新されたレコードに対して変更が現在も保留中であることを示します。

また、Status プロパティは、次の関数が失敗した理由を示します。Resync、UpdateBatch、CancelBatch、および Filter (ブックマークの配列と同じ設定)。

 
関連項目

Recordset.CancelBatch メソッド、Recordset.Filter プロパティ、Recordset.Resync メソッド、Recordset.UpdateBatch メソッド、RecordStatusEnum 列挙

 
Recordset.StayInSync プロパティ (バージョン 2.0、2.1、2.5、2.6)

recordset.Resync AffectRecords
 

StayInSync プロパティは、レコードポインタが階層レコードセットの別の親行に移動する際の、チャプタレコードセットへの参照の変更タイミングを示します。

データタイプ

Boolean

 
説明

StayInSync プロパティは、読み取りおよび書き込みのいずれも可能です。このプロパティの初期設定値は True です。

StayInSync プロパティの値が True に設定されている場合、親レコードセットが変更されると、チャプタレコードセットへの参照が変わります。

StayInSync プロパティの値が False に設定されている場合、階層レコードセット内でのレコードポインタの移動によって親レコードセットが変更されたときに、チャプタレコードセットへの参照は、前の親レコードセットをポイントします。

 
Recordset.Supports メソッド (バージョン 2.0、2.1、2.5、2.6)

Set boolean = recordset.Supports(CursorOptions)
 

Supports メソッドは、指定されている機能を現在のデータプロバイダがサポートしているかどうかを判断します。

パラメータ
CursorOptions (Long)

テストを行う対象のタイプの機能を表します。この値は、付録 E に示す CursorOptionEnum 値です。

 
戻り値

Boolean

 
説明

Recordset オブジェクトの Supports メソッドは、Recordset オブジェクトが各タイプの機能をサポートしているかどうかをテストします。

CursorOptionEnum 値を単一のパラメータとして Supports 関数に追加して渡す場合、戻り値は問題の機能がすべてサポートされているかどうかを示します。

 
関連項目

CursorOptionEnum 列挙

 
Recordset.Update メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.Update Fields, Values
 

AddNew の呼び出しによりフィールドのコンテンツまたはフィールドの配列が変わるので、Recordset オブジェクトの Update メソッドは、現在のレコード内のフィールドに対して加えられた変更を保存します。

パラメータ
Fields (Variant または Variant 配列)

このパラメータは、現在のレコードで更新するフィールド、順序、フィールドの配列、または順序の配列を保持できます。Fields パラメータは、Values パラメータと同じタイプおよびサイズである必要があります。

Values (Variant または Variant 配列)

オプションです。このパラメータは、Fields パラメータで指定されたフィールドの値を保持できます。Values パラメータは、Fields パラメータと同じタイプおよびサイズである必要があります。

 
説明

現在のレコードは、Update メソッドの呼出し後も現在のレコードのままです。

Update メソッドに対して Fields パラメータのフィールド名の配列を指定する場合、Values パラメータは、渡される配列と同じ次元の配列を持ち、Fields 配列に示されている各フィールドに対応する値を含んでいる必要があります。そうでない場合は、エラーが発生します。

レコードの編集中に別のレコードに移動すると、レコードの位置が変わる前に、そのレコードは Update メソッドの自動呼び出しで保存されます。また、現在のレコードの編集時に UpdateBatch メソッドを呼び出すと、Update メソッドが再度自動的に呼び出されます。

逆に、CancelUpdate メソッドは、現在のレコードに対する変更をすべてキャンセルします。

 
メモ

プロバイダによっては Update メソッドをサポートしないものもあります。

 
関連項目

CursorOptionEnum 列挙、Recordset.Supports メソッド

 
Recordset.UpdateBatch メソッド (バージョン 2.0、2.1、2.5、2.6)

recordset.UpdateBatch AffectRecords
 

Recordset オブジェクトの UpdateBatch メソッドを呼び出すと、保留中のバッチ更新がすべてディスクに書き込まれます。

パラメータ
AffectRecords (AffectEnum)

UpdateBatch メソッドのオプションパラメータは、adAffectCurrent (1)、adAffectGroup (2)、または adAffectAll (3、デフォルト) の値を持つ、タイプ AffectEnum の Enumerator です。

AffectRecords の値が adAffectCurrent の場合、UpdateBatch メソッドの呼び出しは、レコードセットの現在のレコードの保留中の更新にのみ影響を与えます。

AffectRecords の値が adAffectGroup の場合、UpdateBatch メソッドの呼び出しは、現在の Recordset オブジェクトの Filter プロパティで指定される保留中のレコードにのみ影響を与えます。このプロパティは、adAffectGroup パラメータで呼び出される UpdateBatch メソッドに既に設定されている必要があります。

AffectRecords の値が adAffectAll の場合、現在の Recordset オブジェクト内で更新保留中のすべてのレコード (Filter プロパティによって非表示にされたものも含む) は、UpdateBatch メソッドの影響を受けます。

 
説明

UpdateBatch メソッドは、保留中のバッチ更新をすべてデータソースに送信します。このメソッドの使用はバッチ更新モード時に限り、Keyset カーソルまたは Static カーソルでのみ使用する必要があります。

キャッシュされているフィールド値を複数回更新してから、保留中のバッチ更新の変更をコミットできます。編集モード時に UpdateBatch メソッドを呼び出すと、Update メソッドが自動的に呼び出されます。

別のユーザーが削除したレコードを更新しようとすると、ランタイムエラーは発生しませんが、代わりに Errors コレクションが警告と共に作成されます。ランタイムエラーは、更新要求されたすべてのレコードに何らかの理由で不一致が含まれる場合にのみ発生します。Filter プロパティを adFilterAffectedRecords 値および Status プロパティと共に使用すると、不一致を含むレコードを検索できます。

逆に、CancelBatch メソッドは、保留中のバッチ更新をすべてキャンセルします。

 
メモ

プロバイダによっては UpdateBatch メソッドをサポートしないものもあります。

 
関連項目

AffectEnum 列挙、Recordset.Supports メソッド、CursorOptionEnum 列挙

 
Recordset.WillChangeField イベント (バージョン 2.0、2.1、2.5、2.6)

WillChangeField(ByVal cFields As Long, _
ByVal Fields As Variant, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

WillChangeField イベントは、操作により Field オブジェクトの値が変更される前に呼び出されます。

パラメータ
cFields (Recordset オブジェクト)

更新する実際のレコードセットを表します。

Fields (Variant 配列)

変更を待機中の Field オブジェクトを含みます。

adStatus (EventStatusEnum)

現在の操作の状態を示します。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。adStatus パラメータが adStatusCancel に設定されている場合、この操作に対してキャンセル要求が行われます。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventStatusEnum 列挙、Recordset.FieldChangeComplete イベント、Recordset.Update メソッド、Recordset.Value プロパティ

 
Recordset.WillChangeRecord イベント (バージョン 2.0、2.1、2.5、2.6)

WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

WillChangeRecord イベントは、操作により Recordset オブジェクトのレコードが変更される前に呼び出されます。

パラメータ
adReason (EventStatusEnum)

このイベントの理由を示します。adReason パラメータの適切な値は次のとおりです。adRsnAddNewadRsnDeleteadRsnUpdateadRsnUndoUpdateadRsnUndoAddNewadRsnUndoDelete、および adRsnFirstChange

cRecords (Long)

このイベントを発生させた操作の影響を受けるレコード数を示します。

adStatus (EventStatusEnum)

現在の操作の状態を示します。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。adStatus パラメータが adStatusCancel に設定されている場合、この操作に対してキャンセル要求が行われます。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、Recordset.AddNew メソッド、Recordset.CancelBatch メソッド、Recordset.CancelUpdate メソッド、Recordset.Delete メソッド、Recordset.RecordChangeComplete イベント、Recordset.Update メソッド、Recordset.UpdateBatch メソッド

 
Recordset.WillChangeRecordset イベント (バージョン 2.0、2.1、2.5、2.6)

WillChangeRecordset(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

WillChangeRecordset イベントは、操作により Recordset オブジェクトが変更される前に呼び出されます。

パラメータ
adReason (EventReasonEnum)

このイベントの理由を示します。adReason パラメータの値は次のとおりです。adRsnReQueryadRsnReSynchadRsnClose、および adRsnOpen

adStatus (EventReasonEnum)

現在の操作の状態を示します。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。adStatus パラメータが adStatusCancel に設定されている場合、この操作に対してキャンセル要求が行われます。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、RecordsetChangeComplete イベント、Recordset.Requery、Recordset.Open

 
Recordset.WillMove イベント (バージョン 2.0、2.1、2.5、2.6)

WillMove(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

WillMove event は、操作により Recordset オブジェクト内のレコードポインタの位置が変更される前に呼び出されます。

パラメータ
adReason (EventReasonEnum)

このイベントの理由を示します。adReason パラメータの値は次のとおりです。 adRsnMoveFirst, adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove, adRsnRequery.

adStatus

現在の操作の状態を示す EventStatusEnum 値を保持します。このイベントを発生させた操作が成功した場合、adStatus パラメータは adStatusOK に設定されます。adStatus パラメータが adStatusCantDeny に設定されている場合、イベントは操作のキャンセルを要求できません。adStatus パラメータが adStatusUnwantedEvent に設定されている場合、このイベントは再度呼び出されません。adStatus パラメータが adStatusCancel に設定されている場合、この操作に対してキャンセル要求が行われます。

pRecordset

このイベントを発生させた Recordset オブジェクトを表します。

 
関連項目

EventReasonEnum 列挙、EventStatusEnum 列挙、Recordset.AbsolutePage プロパティ、Recordset.AbsolutePosition プロパティ、Recordset.AddNew メソッド、Recordset.Bookmark メソッド、Recordset.Filter プロパティ、Recordset.Index プロパティ、Recordset.Move メソッド、Recordset.MoveFirst メソッド、Recordset.MoveLast メソッド、Recordset.MoveNext メソッド、Recordset.MovePrevious メソッド、Recordset.Open メソッド、Recordset.Requery メソッド、Recordset.WillMove イベント