Parameterオブジェクト

パラメータ クエリまたはストアド プロシージャに基づく、Command オブジェクトに関連付けられたパラメータまたは引数を表します。

* Attributes
* Direction
* Name
* NumericScale
* Precision
* Size
* Type
* Value
* AppendChunk


Count

(PWS4 IIS4 IIS5)
Count — コレクション内のオブジェクト数を示します。

構文

object.Count

パラメータ

object Fields コレクションを指定します。

戻り値

長整数型 (Long) の値を返します。

説明

Count プロパティは、コレクション内のオブジェクトの数を調べるために使います。

コレクションのメンバは 0 から順に番号が割り当てられるため、ループを使う場合は常に 0 から始めて、Count プロパティより 1 小さい値で終わらせる必要があります。Microsoft Visual Basic を使っていて、ループ内で Count プロパティをチェックせずにコレクションのメンバを指定するには、For Each…Next コマンドを使います。

Count プロパティが 0 の場合、コレクションにはオブジェクトが含まれていないことを意味します。


Update

(PWS4 IIS4 IIS5)
Update — Recordset オブジェクトのカレント行、または Record オブジェクトの Fields コレクションに加えた変更を保存します。

構文

recordset.Update Fields, Values
record.Fields.Update

パラメータ

Fields 省略可能です。単一の名前を表すバリアント型 (Variant) の値、あるいは変更するフィールド名または位置を表す値の並びをバリアント型 (Variant) の配列として指定します。
Values 省略可能です。単一の値を表すバリアント型 (Variant) の値、または新規レコードのフィールド値を表すバリアント型 (Variant) の配列を指定します。

説明

Recordsetの場合

Update メソッドを使って、AddNew メソッドの呼び出し以後、または既存のレコードのフィールド値の変更後に行われる、Recordset オブジェクトのカレント レコードへの変更内容を保存します。Recordset オブジェクトは更新をサポートしている必要があります。

フィールド値を設定するには、次のいずれかの操作を行います。

* Field オブジェクトの Value プロパティに値を代入し、Update メソッドを呼び出します。
* Update メソッドの呼び出しで、フィールド名と値を引数として渡します。
* Update メソッドの呼び出しで、フィールド名の配列と値の配列を渡します。

フィールド名の配列と値の配列を使用する場合、両方の配列の要素数が同じである必要があります。また、フィールド名の順序とフィールド値の順序も一致している必要があります。フィールド名とフィールド値の数および順序が一致しない場合は、エラーが発生します。

Recordset オブジェクトがバッチ更新をサポートしている場合、UpdateBatch メソッドを呼び出すまで、1 つまたは複数のレコードに対する複数の変更をローカルにキャッシュできます。カレント レコードの編集中または新規レコードの追加中に UpdateBatch メソッドを呼び出すと、変更を一括してプロバイダに転送する前に、Update メソッドが自動的に呼び出され、カレントレコードの保留中の変更がすべて保存されます。

Update メソッドを呼び出す前に、追加または編集を行っているレコードから移動すると、自動的に Update が呼び出され、変更が保存されます。カレントレコードに加えた変更をキャンセルする場合、または新しく追加したレコードを破棄する場合は、CancelUpdate メソッドを呼び出す必要があります。

Update メソッドを呼び出した後も、カレント レコードはそのままカレント レコードになります。

Unique Table ダイナミック プロパティが設定されていて、Recordset が複数のテーブルに対する JOIN 操作の実行結果である場合、Update メソッドは、複数のテーブルにあるすべての主キーの更新をすることができません。また、Update メソッドは、Unique Table プロパティに指定されたテーブルのフィールドのみを更新することができます。

Recordの場合

Update メソッドは、Record オブジェクトの Fields コレクションに含まれるフィールドの追加、削除、および更新を確定します。

たとえば、Delete メソッドで削除されたフィールドは、直ちに削除フィールドとしてマークされますが、コレクションには残されたままです。これらのフィールドをプロバイダのコレクションから実際に削除するには、Update メソッドを呼び出す必要があります。


Refresh

(PWS4 IIS4 IIS5)
Refresh — コレクションのオブジェクトを更新し、プロバイダから使用可能な、プロバイダに固有のオブジェクトを反映します。

構文

collection.Refresh

パラメータ

collection Fields コレクションを指定します。

戻り値

オブジェクトへの参照を返します。

説明

Refresh メソッドは、どのコレクションから呼び出すかによって異なるタスクを実行します。

Fields コレクションで Refresh メソッドを使用した場合、その結果は表示されません。基になるデータベース構造から変更を取得するには、Requery メソッドを使用する必要があります。Recordset オブジェクトがブックマークをサポートしない場合は、MoveFirst メソッドを使用します。


Item

(PWS4 IIS4 IIS5)
Item — コレクションの特定のメンバをその名前またはインデックスで示します。

構文

Set object = collection.Item( Index )

パラメータ

Index コレクション内のオブジェクト名またはインデックスと評価されるバリアント型 (Variant) の値を指定します。

戻り値

オブジェクトへの参照を返します。

説明

コレクション内の特定のオブジェクトを返すには、Item プロパティを使います。コレクション内で Item が Index 引数に対応するオブジェクトを見つけられない場合、エラーが発生します。また、コレクションの中には名前付きオブジェクトをサポートしていないものもあります。このようなコレクションでは、その序数参照を使う必要があります。

Item プロパティはすべてのコレクションの既定プロパティなので、次のいずれの構文形式でも同じ結果が得られます。

1
2
collection.Item (Index)
collection (Index)

Delete

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

構文

Fields.Delete Field

パラメータ

Field 削除する Field オブジェクトを示すバリアント型 (Variant) の値を指定します。このパラメータには、Field オブジェクトの名前または Field オブジェクト自体の位置を示す数値を指定できます。

説明

開いている Recordset で Fields.Delete メソッドを呼び出すと、実行時エラーが発生します。


CancelUpdate

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

構文

recordset.CancelUpdate
record.Fields.CancelUpdate

パラメータ

recordset Fields コレクションを指定します。
Fields Fields コレクションを指定します。

説明

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

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

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

Recordの場合

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


Append

(PWS4 IIS4 IIS5)
Append — コレクションにオブジェクトを追加します。コレクションが Fields である場合、コレクションにオブジェクトが追加される前に、新規 Field オブジェクトが作成されることがあります。

構文

collection.Append object
fields.Append Name, Type, DefinedSize, Attrib, FieldValue

パラメータ

collection コレクション オブジェクトを指定します。
fields Fields コレクションを指定します。
object 追加するオブジェクトを表すオブジェクト変数を指定します。
Name 新規 Field オブジェクトの名前を含む文字列型 (String) の値を指定します。fields に含まれるほかのオブジェクトとは異なる名前にする必要があります。
Type 新規フィールドのデータ型を DataTypeEnum 値で指定します。既定値は adEmpty です。adIDispatch、adIUnknown、および adVariant の各データ型は、ADO ではサポートされていません。したがって、Recordset に新規フィールドを追加するときに、これらのデータ型を使用することはできません。
DefinedSize 省略可能です。新規フィールドの指定サイズを文字数またはバイト数で表す長整数型 (Long) の値を指定します。このパラメータの既定値は、Type によって決まります。DefinedSize が 255 バイトを超えるフィールドは、可変長列として扱われます (既定の DefinedSize は指定されません)。
Attrib 省略可能です。新規フィールドの属性を FieldAttributeEnum 値で指定します。既定値は adFldDefault です。値を指定しない場合は、Type に基づいた属性が設定されます。
FieldValue 省略可能です。新規フィールドの値を表すバリアント型 (Variant) の値を指定します。値を指定しない場合は、Null 値が設定されます。

説明

FieldValue パラメータは、Record オブジェクトに (Recordset オブジェクトではなく)、Field オブジェクトを追加する場合にのみ有効です。Record オブジェクトでは、フィールドの追加と値の設定を同時に行うことができます。Recordset オブジェクトでは、Recordset を閉じているときにフィールドを作成し、その後で Recordset を開いてフィールドに値を設定する必要があります。

注意 Record オブジェクトの Fields コレクションに新規の Field オブジェクトを追加した場合は、まず、Value プロパティを設定してから、その他の Field プロパティを指定する必要があります。まず、Value プロパティの特定の値を割り当て、Fields コレクションに Update を呼び出しておきます。これで、Type や Attributes などその他のプロパティにアクセスできます。

データ型 (DataTypeEnum 値) が adArray、adChapter、adEmpty、adPropVariant、または adUserDefinedField の Field オブジェクトを、Fields コレクションに追加することはできません。これらのオブジェクトを追加すると、エラーが発生します。また、ADO では、adIDispatch、adIUnknown、および adIVariant のデータ型はサポートされていません。これらのデータ型の場合、追加時にエラーは発生しませんが、メモリリークなどの予期しない結果が生じる可能性があります。

レコードの場合

開いている Record の Fields コレクションで Append メソッドを呼び出しても、実行時エラーは発生しません。新規フィールドは、Record オブジェクトの Fields コレクションに追加されます。ただし、Recordset からの Record の場合、Recordset オブジェクトの Fields コレクションに新規フィールドは追加されません。

存在しないフィールドを作成して Fields コレクションに追加することができます。このためには、コレクションに既に存在しているフィールドの場合と同じように、フィールドオブジェクトに値を指定します。この指定によって、その Field オブジェクトの作成と追加が自動的に実行されます。

Record オブジェクトの Fields コレクションに Field を追加した後は、Fields コレクションの Update メソッドを呼び出して変更を保存してください。


Fieldsコレクション

共通のデータ型を持つデータの列を表します。

* Append
* CancelUpdate
* Delete
* Item
* Refresh
* Update
* Count


GetChunk

(PWS4 IIS4 IIS5)
GetChunk — 大きなサイズのテキストまたはバイナリ型の Field オブジェクトの、全部または一部の内容を返します。

構文

field.GetChunk( Size )

パラメータ

Size 取得するバイト数または文字数を表す長整数型 (Long) の式を指定します。

戻り値

バリアント型 (Variant) の値を返します。

説明

ield オブジェクトで GetChunk メソッドを使用すると、長バイナリまたは文字データの全体または一部を取得できます。システム メモリに制限がある場合、GetChunk メソッドを使用すると、長い値を短いセグメントに分けて操作できます。

GetChunk メソッドから返されたデータは variable に代入されます。Size が残りのデータより大きい場合は、空白で variable のサイズの残りを埋めずに残りのデータのみが返されます。フィールドが空の場合は、Null 値が返されます。

GetChunk メソッドを連続して使うと、直前の GetChunk の呼び出しで取得されたデータの直後からデータが取得されます。ただし、あるフィールドからデータを取得しているときに、カレントレコードの別のフィールド値の設定または読み取りを行うと、最初のフィールドからのデータ取得は終了したと見なされます。そのため、もう一度最初のフィールドで GetChunk メソッドを呼び出すと、新規の GetChunk 操作と解釈され、データの始めから読み取りが開始されます。最初の Recordset オブジェクトのクローンを除く別の Recordset オブジェクトのフィールドにアクセスした場合は、GetChunk メソッドの操作は中断されません。

Field オブジェクトの Attributes プロパティで adFldLong ビットが “True” に設定されている場合、そのフィールドに GetChunk メソッドを使用することができます。

Field オブジェクトで GetChunk メソッドを使用する際にカレント レコードが存在しない場合、エラー 3021 (カレント レコードはありません) が発生します。

注意 GetChunk メソッドでは、Record オブジェクトの Field オブジェクトを操作することはできません。操作は何も実行されず、実行時エラーが発生します。