オブジェクトをコレクションに追加します。 コレクションが Fields の場合は、コレクションに追加する前に新しい Field オブジェクトを作成できます。
構文
collection.Append object
fields.Append Name, Type, DefinedSize, Attrib, FieldValue
パラメーター
コレクション
コレクション オブジェクト。
田畑
Fields コレクション。
オブジェクト
追加するオブジェクトを表すオブジェクト変数。
名前
新しい Field オブジェクトの名前を含む文字列値。フィールド内の他のオブジェクトと同じ名前にすることはできません。
タイプ
新しいフィールドのデータ型を指定する、既定値が adEmpty である DataTypeEnum 値。 次のデータ型は ADO ではサポートされていないため、 Recordset オブジェクト (ADO) に新しいフィールドを追加する場合は使用しないでください: adIDispatch、 adIUnknown、 adVariant。
DefinedSize
任意。 新しいフィールドの定義されたサイズを文字またはバイト単位で表す Long 値。 このパラメーターの既定値は Type から派生 します。
DefinedSize が 255 バイトを超えるフィールドは、可変長列として扱われます。
DefinedSize の既定値は指定されていません。
Attrib
任意。 新しいフィールドの属性を指定する、既定値が adFldDefault である FieldAttributeEnum 値。 この値が指定されていない場合、フィールドには Type から派生した属性が含まれます。
FieldValue
任意。 新しいフィールドの値を表す バリアント型 (Variant ) の値です。 指定しない場合、フィールドには null 値が追加されます。
注釈
Parameters コレクション
Parameters コレクションに追加する前に、Parameter オブジェクトの Type プロパティを設定する必要があります。 可変長データ型を選択する場合は、 Size プロパティを 0 より大きい値に設定する必要もあります。
パラメーターを自分で記述すると、プロバイダーの呼び出しが最小限に抑えられます。そのため、ストアド プロシージャまたはパラメーター化クエリを使用する場合のパフォーマンスが向上します。 ただし、呼び出すストアド プロシージャまたはパラメーター化クエリに関連付けられているパラメーターのプロパティを把握しておく必要があります。
CreateParameter メソッドを使用して、適切なプロパティ設定で Parameter オブジェクトを作成し、Append メソッドを使用して、それらを Parameters コレクションに追加します。 これにより、パラメーター情報のプロバイダーを呼び出すことなく、パラメーター値を設定して返すことができます。 パラメーター情報を提供しないプロバイダーに書き込む場合は、パラメーターをまったく使用するために、このメソッドを使用して Parameters コレクションを手動で設定する必要があります。
Fields コレクション
FieldValue パラメーターは、Recordset オブジェクトではなく、Record オブジェクトに Field オブジェクトを追加する場合にのみ有効です。 Record オブジェクトを使用すると、フィールドを追加し、同時に値を指定できます。 Recordset オブジェクトでは、Recordset が閉じられている間にフィールドを作成し、Recordset を開いてフィールドに値を割り当てる必要があります。
注
Record オブジェクトの Fields コレクションに追加された新しい Field オブジェクトの場合は、他の Field プロパティを指定する前に、Value プロパティを設定する必要があります。 最初に、Value プロパティの特定の値が割り当てられ、呼び出された Fields コレクションの Update する必要があります。 その後、Type や Attributes などのその他のプロパティにアクセスできます。 次のデータ型 (DataTypeEnum) のフィールド オブジェクトは Fields コレクションに追加できず、adArray、adChapter、adEmpty、adPropVariant、adUserDefined というエラーが発生します。 また、ADO では、 adIDispatch、 adIUnknown、および adIVariant のデータ型はサポートされていません。 これらの型の場合、追加してもエラーは発生しませんが、メモリ リークを含む予期しない結果が発生する可能性があります。
Recordset
Append メソッドを呼び出す前に CursorLocation プロパティを設定しない場合、Recordset オブジェクトの Open メソッドが呼び出されると、CursorLocation は自動的に adUseClient (CursorLocationEnum 値) に設定されます。
開いている Recordset の Fields コレクションまたは ActiveConnection プロパティが設定されている Recordset で Append メソッドが呼び出されると、実行時エラーが発生します。 レコード セット に追加できるのは、開いていないフィールドで、データ ソースにまだ接続されていないフィールドのみです。 これは通常、 Recordset オブジェクトが CreateRecordset メソッドを使用して作成されたり、オブジェクト変数に割り当てられたりする場合です。
記録
開いている Record の Fields コレクションで Append メソッドが呼び出された場合、実行時エラーは発生しません。 新しいフィールドは、Record オブジェクトの Fields コレクションに追加されます。 Record が Recordset から派生した場合、新しいフィールドは Recordset オブジェクトの Fields コレクションには表示されません。
存在しないフィールドを作成し、 フィールド オブジェクトに 値を割り当てることによって、フィールド コレクションに追加することができます。これは、既にコレクション内に存在しているかのようにします。 割り当てによって Field オブジェクトの自動作成と追加がトリガーされ、割り当てが完了します。
Record オブジェクトの Fields コレクションに Field を追加した後、Fields コレクションの Update メソッドを呼び出して変更を保存します。
適用対象
こちらもご覧ください
Append メソッドと CreateParameter メソッドの使用例 (VB)
Append メソッドと CreateParameter メソッドの使用例 (VC++)
CreateParameter メソッド (ADO)
Delete メソッド (ADO Fields コレクション)
Delete メソッド (ADO Parameters コレクション)
Delete メソッド (ADO Recordset)
Update メソッドの