LockType

(PWS4 IIS4 IIS5)
LockType — 編集時にレコードに適用されるロックの種類を示します。

構文

object.LockType

パラメータ

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

設定値と戻り値

LockTypeEnum の値を設定します。また、値の取得も可能です。既定値は adLockReadOnly です。

説明

プロバイダが Recordset を開くときに使用するロックの種類は、Recordset を開く前に LockType プロパティで指定します。開いている Recordset オブジェクトで使っているロックの種類は、このプロパティを取得すれば確認できます。

プロバイダによってはすべての種類のロックをサポートしていないものもあります。要求した LockType の設定値がサポートされていない場合、ほかの種類のロックに置き換えられます。Recordset オブジェクトで実際に使用可能なロック機能を調べるには、adUpdate と adUpdateBatch を使って Supports メソッドを呼び出します。

CursorLocation プロパティが adUseClient に設定されている場合、adLockPessimistic 設定はサポートされません。サポートされていない値を設定してもエラーにはなりませんが、サポートされる LockType のうち、最も近いロックが使用されます。

LockType プロパティは、Recordset が閉じている場合は読み取り/書き込み可能になっていますが、開いている場合は読み取り専用になります。

RDS での使用 クライアント側の Recordset オブジェクトで使う場合、LockType プロパティは adLockBatchOptimistic にのみ設定できます。


Index

(PWS4 IIS4 IIS5)
Index — Recordset オブジェクトに対して現在有効なインデックス名を示します。

構文

object.Index

パラメータ

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

Filter

(PWS4 IIS4 IIS5)
Filter — Recordset のデータに対するフィルタを示します。

構文

object.Filter

パラメータ

object
Recordset セットオブジェクト

設定値と戻り値

次の中の 1 つを含む、バリアント型 (Variant) の値を設定します。また、値の取得も可能です。

* 検索文字列 – AND または OR 演算子で連結された、1 つまたは複数の句で構成される文字列です。
* ブックマーク配列 – Recordset オブジェクトのレコードを指す固有のブックマーク値の配列です。
* FilterGroupEnum 値です。

説明

Filter プロパティは、Recordset オブジェクトで特定のレコードを抽出するときに使います。フィルタ処理後の Recordset がカレントのカーソルになります。AbsolutePosition、AbsolutePage、RecordCount、PageCount などの、カレント カーソルに基づいて値を返すその他のプロパティが影響を受けます。これは、Filter プロパティに特定の値を設定すると、カレント レコードが新しい値を満たす最初のレコードに移動するからです。

検索文字列は、「フィールド名-演算子-値」形式の句で構成されます (例: “LastName = ‘Smith'”)。AND や OR で句どうしを組み合わせれば、複合句を作成できます (例: “LastName = ‘Smith’ AND FirstName = ‘John'” または “LastName = ‘Smith’ OR LastName = ‘Jones'”)。検索文字列を指定するには、次の点に注意してください。

* 「フィールド名」は、Recordset の有効なフィールド名とします。フィールド名にスペースを含める場合は、名前を角かっこで囲みます。
* 「演算子」には次の中から 1 つを選択して使用します。<、>、<=、>=、<>、=、または LIKE。
* 「値」は、フィールド値と比較される値 (たとえば、’Smith’、#8/24/95#、12.345、または $50.00) のことです。文字列には引用符を、日付にはシャープ記号 (#) を使います。数値では、小数点、ドル記号、および指数表記を使うことができます。「演算子」が LIKE の場合、「値」にワイルドカードを使うことができます。使うことができるワイルドカードはアスタリスク (*) と百分率記号 (%) のみとし、文字列の最後に指定します。「値」に Null を使うことはできません。

注意 単一引用符 (‘) をフィルタ Value に組み込むには、2 つの単一引用符を使って 1 つの単一引用符を表します。たとえば、O’Malley にフィルタを設定するには、検索文字列は、”col1 = ‘O”Malley'” とします。フィルタ値の先頭と末尾に単一引用符を組み込むには、シャープ記号 (#) で文字列を囲みます。たとえば、’1’ にフィルタを設定するには、検索文字列は “col1 = #’1’#” とします。

AND と OR には優先順位はありません。句はかっこでグループにまとめることができます。ただし、次のように、OR で句を結合してできた句のグループを、AND を使ってさらに別の句と結合することはできません。

[sql](LastName = ‘Smith’ OR LastName = ‘Jones’) AND FirstName = ‘John'[/sql]

この場合は、フィルタを次のように構成します。

[sql] (LastName = ‘Smith’ AND FirstName = ‘John’) OR (LastName = ‘Jones’ AND FirstName = ‘John’)[/sql]

LIKE を使った句では、LastName Like ‘*mit*’ のように、パターンの始めと終わりにワイルドカードを指定できます。または、LastName Like ‘Smit*’ のように、パターンの終わりにだけ使うこともできます。

フィルタ定数を使うと、バッチ更新モードでレコード間に競合が発生しても、最後の UpdateBatch メソッドの呼び出しで変更されたレコードだけを表示するなどの方法で、簡単に競合を解消できます。

たとえば、レコードがほかのユーザーによって既に削除されている場合など、基になるデータとの競合が原因で、Filter プロパティの設定に失敗する場合があります。このような場合には、プロバイダは Errors コレクションに警告を返しますが、プログラムの実行は停止されません。要求したすべてのレコードで競合が発生した場合にのみ、実行時エラーが発生します。競合が発生したレコードの位置を調べるには、Status プロパティを使用します。

Filter プロパティに長さ 0 の文字列 (“”) を設定すると、adFilterNone 定数を使った場合と同じ結果が得られます。

Filter プロパティを設定すると、Recordset 内のレコードで、フィルタ処理済みのサブセット内の最初のレコードにカレントレコードの位置が移動します。同様に、Filter プロパティを消去すると、カレント レコードの位置は Recordset の最初のレコードに移動します。

Filter プロパティで使用する配列を作成するときに使用するブックマーク値については、Bookmark プロパティを参照してください。

検索文字列 (OrderDate > ’12/31/1999′ など) 形式の Filter だけが、永続化された Recordset の内容を操作することができます。Bookmark の配列で作成されたフィルタ、または FilterGroupEnum の値を使用して作成されたフィルタは、永続化された Recordset の内容に影響しません。これらの規則は、クライアント側とサーバー側のいずれで作成された Recordset にも当てはまります。


EOF

(PWS4 IIS4 IIS5)
eOF — カレント レコードの位置が Recordset オブジェクトの最後のレコードより後にあることを示します。

構文

object.EOF

パラメータ

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

戻り値

BOF プロパティは、ブール型 (Boolean) の値を返します。

説明

EOF プロパティは、カレント レコードの位置が最後のレコードより後にある場合は True を返し、カレント レコードの位置が最後のレコード上またはそれ以前にある場合は False を返します。

レコードを持たない Recordset を開くと、BOF プロパティは True に設定されます (Recordset のこの状態については、RecordCount プロパティを参照してください)。少なくとも 1 つのレコードが格納された Recordset オブジェクトを開くと、最初のレコードがカレント レコードになり、BOF プロパティと EOF プロパティは False になります。

Recordset オブジェクトで最後に残ったレコードを削除しても、カレント レコードの位置を移動するまで BOF プロパティは False のままです。

次の表では、BOF プロパティの設定値の組み合わせと、利用できる Move メソッドの種類を示します。

MoveFirst、MoveLast MovePrevious、Move < 0 Move 0 MoveNext、Move > 0
BOF=True、EOF=False 使用可能 エラー エラー 使用可能
BOF=False、EOF=Truee 使用可能 使用可能 エラー エラー
両方が True エラー エラー エラー エラー
両方が False 使用可能 使用可能 使用可能 使用可能

Move メソッドが使えても、そのメソッドによるレコードの位置が見つかったとは限りません。メソッドが使えるとは、指定された Move メソッドを呼び出してもエラーが発生しなかったことを意味するだけです。

次の表は、さまざまな Move メソッドを呼び出してもレコードの位置が見つからない場合に、BOF プロパティに設定される値を示します。

BOF EOF
MoveFirst、MoveLast True に設定 True に設定
Move 0 変化なし 変化なし
MovePrevious、Move &lt; 0 True に設定 変化なし
MoveNext、Move &gt; 0r 変化なし True に設定

EditModeEnum

レコードの編集ステータスを表します。

定数 説明
adEditNone 0 進行中の編集操作がないことを示します。
adEditInProgress 1 カレント レコードのデータが変更されましたが、保存されていないことを示します。
adEditAdd 2 AddNew メソッドが呼び出されていて、コピー バッファのカレント レコードが、データベースに保存されていない新規レコードであることを示します。
adEditDelete 4 カレント レコードが削除されたことを示します。

EditMode

(PWS4 IIS4 IIS5)
EditMode — カレント レコードの編集ステータスを示します。

構文

object.EditMode = value

パラメータ

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

戻り値

EditModeEnum 値を返します。

説明

ADO は、カレントレコードに関連付けられた編集バッファを使います。このプロパティは、このバッファに対して変更が加えられたかどうか、または新規レコードが作成されたかどうかを示します。カレント レコードの編集状態を調べるには、EditMode プロパティを使います。編集プロセスが中断された場合に保留中の変更があるかどうかを確認して、Update または CancelUpdate メソッドを使用する必要があるかどうかを判定できます。

さまざまな編集条件における EditMode プロパティの詳細な説明は、AddNew メソッドを参照してください。

Delete メソッドの呼び出しで、レコードまたはデータ ソースのレコードが正しく削除されなかった場合 (参照整合性違反など)、Recordset は編集モード (EditMode = adEditInProgress) のままになります。これは、カレント レコードから移動する (たとえば Move、NextRecordset、Close などを使用する) 前に、CancelUpdate メソッドを呼び出す必要があることを意味します。

注意 EditMode ではカレント レコードがないと有効な値は返されません。EditMode では、BOF または EOF が TRUE の場合、あるいはカレント レコードが削除された場合にだけエラーが返されます。


CursorType

(PWS4 IIS4 IIS5)
CursorType — Recordset オブジェクトで使用されるカーソルの種類を示します。

構文

object.CursorType = value

パラメータ

object Recordset オブジェクトを指定します。
value カーソルタイプ

以下の値が value パラメータ文字列として認識されます

定数 内容
adOpenDynamic 2 動的カーソル
adOpenForwardOnly 0 前方専用カーソル(デフォルト)
adOpenKeyset 1 動的キーセットカーソル
adOpenStatic 3 静的キーセットカーソル
adOpenUnspecified -1 カーソルタイプ指定なし

設定値と戻り値

CursorTypeEnum の値を設定します。また、値の取得も可能です。既定値は adOpenForwardOnly です。

説明

CursorType プロパティでは、Recordset オブジェクトを開くときに使うカーソルの種類を指定します。

CursorLocation プロパティに adUseClient が設定されている場合は、adOpenStatic の設定だけがサポートされます。サポートされていない値が設定された場合でも、エラーは発生しません。サポートされている CursorType のうち、一番近い値で代用されます。

プロバイダが要求したカーソルの種類をサポートしていない場合は、ほかのカーソルの種類が返ります。Recordset オブジェクトが開いているときには、CursorType プロパティは実際に使用されているカーソルの種類に合わせて変更されます。返されたカーソル特有の機能を調べるには、Supports メソッドを使用します。Recordset を閉じると、CursorType プロパティは元の設定値に戻ります。

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

RDS での使用 クライアント側の Recordset オブジェクトで使用する場合、CursorType プロパティは adOpenStatic にのみ設定できます。


CursorLocation

(PWS4 IIS4 IIS5)
CursorLocation — カーソル サービスの場所を示します。

構文

object.CursorLocation = value

パラメータ

object Recordset オブジェクを指定します。
value カーソルサービス

以下の値が value パラメータ文字列として認識されます

定数 内容
adUseClient 3 クライアント側カーソル
adUseNone 1 カーソルサービス未使用
adUseServer 2 プロバイダまたはドライバが供給するカーソル(デフォルト)

設定値と戻り値

CursorLocationEnum 値のいずれか 1 つに設定可能な長整数型 (Long) の値を設定します。また、値の取得も可能です。

説明

このプロパティで、プロバイダにアクセス可能なさまざまなカーソル ライブラリの中からカーソル サービスを選択します。通常は、クライアント側カーソル ライブラリ、またはサーバー側カーソル ライブラリから選択します。

このプロパティ設定は、プロパティが設定された後に確立された接続のみに作用します。CursorLocation プロパティを変更しても既存の接続には影響しません。

Execute メソッドが返すカーソルは、この設定を継承します。Recordset オブジェクトは関連付けられた接続からこの設定を自動的に継承します。

このプロパティは、Connection または閉じている Recordset 上では読み取り/書き込み可能で、開いている Recordset 上では読み取り専用です。

RDS での使用 クライアント側の Recordset オブジェクトまたは Connection オブジェクトで使う場合、CursorLocation プロパティは adUseClient にのみ設定できます。


CacheSize

(PWS4 IIS4 IIS5)
CacheSize — ローカル メモリにキャッシュされた Recordset オブジェクトのレコード数を示します。

構文

object.CacheSize

パラメータ

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

設定値と戻り値

0 より大きい長整数型 (Long) の値を設定します。また、値の取得も可能です。既定値は 1 です。

説明

CacheSize プロパティを使用して、プロバイダからローカル メモリに一度に取り込むレコード数を制御します。たとえば、CacheSize が 10 の場合、最初に Recordset オブジェクトが開くと、プロバイダは最初の 10 個のレコードをローカルメモリに取り込みます。Recordset オブジェクトを移動する間、プロバイダはローカル メモリバッファからデータを返します。キャッシュ内の最後のレコードを通過すると、プロバイダは次の 10 個のレコードをデータソースからキャッシュに取り込みます。

注意 CacheSize は、プロバイダ固有の Maximum Open Rows プロパティ (Recordset オブジェクトの Properties コレクション内) に基づいた値です。Maximum Open Rows より大きな CacheSize を設定することはできません。プロバイダが開くことのできる行数を修正するには、Maximum Open Rows を設定します。

CacheSize の値は、Recordset オブジェクトが開いている間に変更できますが、変更した値は、次にデータ ソースからキャッシュへ取り込むレコード数に対してのみ適用されます。プロパティ値を変更しただけでは、現在のキャッシュの内容は変更されません。

取り込めるレコード数が CacheSize の指定値より少なくても、プロバイダは残りのレコードを返し、エラーにはなりません。

CacheSize プロパティは 0 には設定できません。エラーになります。

ほかのユーザーがソース データを同時に変更しても、キャッシュから取り込まれたレコードには反映されません。キャッシュに格納されているすべてのデータを強制的に更新するには、Resync メソッドを使用します。

CacheSize に 1 を超える値を設定して、レコードを取得した後に削除を行った場合、移動メソッド (Move、MoveFirst、MoveLast、MoveNext、MovePrevious) を実行すると、削除レコードに移動します。最初のフェッチ後の削除は、削除された行からデータ値にアクセスするまで、データキャッシュには反映されません。ただし、CacheSize に 1 を設定すると、削除行をフェッチできなくなるのでこの問題は解消できます。


Bookmark

(PWS4 IIS4 IIS5)
Bookmark — Recordset オブジェクトのカレント レコードを一意に識別するブックマークを示します。または、Recordset オブジェクトのカレント レコードを、有効なブックマークで識別されるレコードに設定します。

構文

object.Bookmark

パラメータ

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

設定値と戻り値

有効なブックマークとして評価されるバリアント型 (Variant) の式を設定します。また、値の取得も可能です。

説明

Bookmark プロパティを使ってカレント レコードの位置を保存し、そのレコードにいつでも戻ることができます。ブックマークは、ブックマーク機能をサポートする Recordset オブジェクトでのみ利用できます。

Recordset オブジェクトを開くとき、各レコードには固有のブックマークが割り当てられます。カレント レコードのブックマークを保存するには、Bookmark プロパティの値を変数に代入します。ほかのレコードに移動した後、ブックマークを保存したレコードにすぐに戻るには、Recordset オブジェクトの Bookmark プロパティをその変数に設定します。

ブックマーク値を参照できない場合があります。たとえば、同じレコードを参照するブックマークであっても、異なる値を持つ場合があるため、ブックマークの値を直接比較出来るとは限りません。

Clone メソッドを使って Recordset オブジェクトのコピーを作成した場合、元と複製の Recordset オブジェクトの Bookmark プロパティの設定値は同じになるため、同じように使用できます。ただし、同じソースまたはコマンドから作成されていても、異なる Recordset オブジェクトからのブックマークに互換性はありません。

RDS での使用 クライアント側 Recordset オブジェクトでは、Bookmark プロパティは常に利用できます。