Recordset オブジェクト | (バージョン 2.0、2.1、2.5、2.6) |
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 オブジェクト内に新しいレコードを作成します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトの現在保留中になっているバッチ更新をキャンセルします。 |
|
パラメータ | |
|
|
説明 | |
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 つのブックマークの位置を判断します。 |
|
パラメータ | |
|
|
戻り値 | |
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 オブジェクトの作成に必要なオブジェクトを示します。 |
|
データタイプ | |
|
|
説明 | |
DataMember プロパティと DataSource プロパティは常に連動して使用されます。 DataSource プロパティは、DataMember で指定されたオブジェクトを含むデータソースを示します。 DataMember プロパティは、Recordset オブジェクトの作成に使用するデータソース内のオブジェクトを示します。 DataMember プロパティの設定時には、Recordset を閉じる必要があります。また、DataSource プロパティを DataMember プロパティより先に設定すると、エラーが発生します。 |
|
Recordset.Delete メソッド | (バージョン 2.0、2.1、2.5、2.6) |
recordset.Delete AffectRecords | |
Delete メソッドは、レコードセット内の指定されたレコードを削除します。 |
|
パラメータ | |
|
|
説明 | |
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 イベントは、レコードセットの最後の位置を超えてレコードポインタを移動しようとすると呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 イベントは、長い非同期操作 (取り込み) が完了して、すべてのレコードが返されたときに呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 イベントは、取り込み状況を通知するために長い非同期操作 (取り込み) の間に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 オブジェクトの値が変更された後に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 つのタイプの値のいずれかを指定できます。
句は 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 メソッドは、指定された単数列の検索条件に一致する現在のレコードセット内の行にレコードポインタを移動します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトから複数のレコードを配列形式で返します。 |
|
パラメータ | |
|
|
戻り値 | |
|
|
説明 | |
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 オブジェクト全体を文字列値として返します。 |
|
パラメータ | |
|
|
戻り値 | |
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 オブジェクト内でレコードポインタの位置を移動します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクト内のレコードポインタの位置が変更された後に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 |
|
パラメータ | |
|
|
説明 | |
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 パラメータ、ActiveConnection パラメータ、CursorType パラメータ、および LockType パラメータには、Recordset オブジェクト内に一致するプロパティがあります。Open メソッドの呼び出しでパラメータが省略されている場合、個々の値は対応するプロパティから取得されます。ただし、特定のパラメータに対して値が指定されている場合、プロパティ値に保存されている以前の値はこの値によって上書きされます。 Recordset オブジェクトのソースは、次のいずれかです。
Recordset オブジェクトを開くために Command オブジェクト以外のソースを使用している場合は、Options パラメータでデータソースを指定します。データソースを指定しない場合、ADO ではデータプロバイダを繰り返し呼び出し、開いているデータのタイプを判断する必要があります。 ファイルを Recordset オブジェクトのソースとして指定する場合、完全パス名、相対パス名、場合によっては URL 値 ( 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 オブジェクトのレコードが変更された後に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 オブジェクトが変更された後に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 メソッドは、基になるデータソースからレコードセットのデータを更新します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトに保存します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトのレコードに素早く変更します。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトのデータのソースを返します。 |
|
データタイプ | |
|
|
説明 | |
Recordset オブジェクトの場合、Source プロパティはレコードセットのデータのソースを指定します。Recordset オブジェクトの Source プロパティは、Recordset オブジェクトが閉じているときは読み取りおよび書き込み可能ですが、オブジェクトが開くと読み取り専用になります。 Recordset オブジェクトの Source プロパティの値は、次のいずれかです。
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 メソッドは、指定されている機能を現在のデータプロバイダがサポートしているかどうかを判断します。 |
|
パラメータ | |
|
|
戻り値 | |
Boolean |
|
説明 | |
Recordset オブジェクトの Supports メソッドは、Recordset オブジェクトが各タイプの機能をサポートしているかどうかをテストします。 CursorOptionEnum 値を単一のパラメータとして Supports 関数に追加して渡す場合、戻り値は問題の機能がすべてサポートされているかどうかを示します。 |
|
関連項目 | |
CursorOptionEnum 列挙 |
|
Recordset.Update メソッド | (バージョン 2.0、2.1、2.5、2.6) |
recordset.Update Fields, Values | |
AddNew の呼び出しによりフィールドのコンテンツまたはフィールドの配列が変わるので、Recordset オブジェクトの Update メソッドは、現在のレコード内のフィールドに対して加えられた変更を保存します。 |
|
パラメータ | |
|
|
説明 | |
現在のレコードは、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 メソッドを呼び出すと、保留中のバッチ更新がすべてディスクに書き込まれます。 |
|
パラメータ | |
|
|
説明 | |
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 オブジェクトの値が変更される前に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 オブジェクトのレコードが変更される前に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 オブジェクトが変更される前に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 オブジェクト内のレコードポインタの位置が変更される前に呼び出されます。 |
|
パラメータ | |
|
|
関連項目 | |
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 イベント |
|