AddNew メソッド (ADO)AddNew Method (ADO)

更新可能なに対して新しいレコードを作成します。 Recordsetオブジェクト。Creates a new record for an updatable Recordset object.

構文Syntax

  
recordset.AddNew FieldList, Values  

パラメーターParameters

recordsetrecordset
A Recordsetオブジェクト。A Recordset object.

FieldListFieldList
任意。Optional. 1 つの名前または名前の配列または新しいレコードのフィールドの序数位置。A single name, or an array of names or ordinal positions of the fields in the new record.

Values
任意。Optional. 1 つの値、または新しいレコードのフィールドの値の配列。A single value, or an array of values for the fields in the new record. 場合Fieldlist 、配列は、配列である必要があります、同じメンバーの数。 それ以外の場合、エラーが発生します。If Fieldlist is an array, Values must also be an array with the same number of members; otherwise, an error occurs. フィールド名の順序は、各配列内のフィールド値の順序と一致する必要があります。The order of field names must match the order of field values in each array.

コメントRemarks

使用して、 AddNewメソッドを作成し、新しいレコードを初期化します。Use the AddNew method to create and initialize a new record. 使用して、サポートメソッドadAddNew (、 CursorOptionEnum値) を現在のレコードを追加できるかどうかを確認するレコードセットオブジェクト。Use the Supports method with adAddNew (a CursorOptionEnum value) to verify whether you can add records to the current Recordset object.

呼び出した後、 AddNewメソッドでは、新しいレコードが現在のレコードになり、を呼び出した後は、最新の状態、 Updateメソッド。After you call the AddNew method, the new record becomes the current record and remains current after you call the Update method. 新しいレコードが追加されますので、 Recordsetへの呼び出しMoveNextの末尾を越えた移動は次の更新プログラム、レコード セットEOF True です。Since the new record is appended to the Recordset, a call to MoveNext following the Update will move past the end of the Recordset, making EOF True. 場合、 Recordsetオブジェクトは、ブックマークをサポートしていない、別のレコードに移動すると、新しいレコードにアクセスすることはできません。If the Recordset object does not support bookmarks, you may not be able to access the new record once you move to another record. 呼び出す必要があります、カーソルの種類に応じて、 Requeryメソッドを新しいレコードにアクセスできるようにします。Depending on your cursor type, you may need to call the Requery method to make the new record accessible.

呼び出す場合AddNew ADO を呼び出し、現在のレコードを編集している間、または新しいレコードを追加するときに、 Updateを保存する方法の変更し、新しいレコードを作成します。If you call AddNew while editing the current record or while adding a new record, ADO calls the Update method to save any changes and then creates the new record.

動作、 AddNewメソッドの更新モードによって異なります、 Recordsetオブジェクトとかどうかを渡す、 Fieldlist引数。The behavior of the AddNew method depends on the updating mode of the Recordset object and whether you pass the Fieldlist and Values arguments.

即時更新モード(をプロバイダーに変更を書き込みます、基になるデータ ソースを呼び出すと、更新メソッド) を呼び出すと、 AddNewメソッドなし引数のセット、 EditModeプロパティをadEditAdd (、 EditModeEnum値)。In immediate update mode (in which the provider writes changes to the underlying data source once you call the Update method), calling the AddNew method without arguments sets the EditMode property to adEditAdd (an EditModeEnum value). プロバイダーは、ローカル フィールド値の変更をキャッシュします。The provider caches any field value changes locally. 呼び出す、 Updateメソッドは、データベースに新しいレコードをポストし、リセット、 EditModeプロパティをadEditNone (、 EditModeEnum値)。Calling the Update method posts the new record to the database and resets the EditMode property to adEditNone (an EditModeEnum value). 渡す場合、 Fieldlist引数、ADO はすぐに、新しいレコードをデータベースに投稿 (ありませんUpdate呼び出しが必要)、 EditModeプロパティの値が変更されない (adEditNone)。If you pass the Fieldlist and Values arguments, ADO immediately posts the new record to the database (no Update call is necessary); the EditMode property value does not change (adEditNone).

バッチ更新モード(をプロバイダーが複数の変更をキャッシュし、呼び出すときにのみ、基になるデータ ソースに書き込む、 UpdateBatchメソッド) を呼び出すと、 AddNewメソッドの引数を設定せず、 EditModeプロパティをadEditAddします。In batch update mode (in which the provider caches multiple changes and writes them to the underlying data source only when you call the UpdateBatch method), calling the AddNew method without arguments sets the EditMode property to adEditAdd. プロバイダーは、ローカル フィールド値の変更をキャッシュします。The provider caches any field value changes locally. 呼び出す、 Updateメソッドは、現在、新しいレコードを追加レコード セット、プロバイダーが基になるデータベースへの変更を投稿またはリセットしていませんが、 EditMode adEditNoneを呼び出すまで、 UpdateBatchメソッド。Calling the Update method adds the new record to the current Recordset, but the provider does not post the changes to the underlying database, or reset the EditMode to adEditNone, until you call the UpdateBatch method. 渡す場合、 Fieldlist引数、ADO プロバイダーに送信、新しいレコードの記憶域のキャッシュとセット、 EditModeadEditAdd; を呼び出す必要があります、 UpdateBatchメソッドを基になるデータベースに新しいレコードを投稿します。If you pass the Fieldlist and Values arguments, ADO sends the new record to the provider for storage in a cache and sets the EditMode to adEditAdd; you need to call the UpdateBatch method to post the new record to the underlying database.

Example

次の例では、配列としてフィールドの一覧と値のリストを追加する方法についてに含まれる値のリストとフィールドの一覧で AddNew メソッドを使用する方法を示します。The following example shows how to use the AddNew method with the field list and value list included, to see how to include the field list and value list as arrays.

create table aa1 (intf int, charf char(10))  
insert into aa1 values (2, 'aa')  
  
Dim cn As New adodb.Connection  
Dim rs As New adodb.Recordset  
Dim cmd As New adodb.Command  
  
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=alexverb2;uid=sa;pwd=foo$bar00;"  
  
cn.Open  
rs.Open "select * from xxx..aa1", cn, adOpenKeyset, adLockOptimistic  
  
Dim fieldsArray(1) As Variant  
fieldsArray(0) = "intf"  
fieldsArray(1) = "charf"  
Dim values(1) As Variant  
values(0) = 4  
values(1) = "as"  
rs.AddNew fieldsArray, values  
rs.Update  

適用対象Applies To

Recordset オブジェクト (ADO)Recordset Object (ADO)

参照See Also

AddNew メソッドの例 (VB) AddNew Method Example (VB)
AddNew メソッドの例 (VBScript) AddNew Method Example (VBScript)
AddNew メソッドの例 (vc++) AddNew Method Example (VC++)
CancelUpdate メソッド (ADO) CancelUpdate Method (ADO)
EditMode プロパティ EditMode Property
Requery メソッド Requery Method
メソッドをサポートしています Supports Method
Update メソッド Update Method
UpdateBatch メソッドUpdateBatch Method