ray88’s diary

お仕事で困ったとき用の自分用の覚書

ADO レコードの追加 AddNewメソッド

【AddNewメソッドの引数として、フィールドリスト、値リストを渡す】

RS.AddNew フィールドリスト,値リスト

■フィールドリスト、値リストを作成する方法
・リストに使用する変数をVariant型で宣言する
・Array関数でリストになる配列を変数に格納する

Dim List1 As Variant
Dim List2 As Variant
List1 = Array("F1","F2","F3")
List2 = Array("値1","値2","値3")
RS.AddNew List1,List2

(例)

Sub Test3()
    Dim CN As ADODB.Connection
    Dim RS As ADODB.Recordset
    Dim FieldList As Variant
    Dim ValueList As Variant
    Set CN = CurrentProject.Connection
    Set RS = New ADODB.Recordset
    RS.Open "T部署マスタ", CN, adOpenKeyset, adLockOptimistic
    FieldList = Array("部署コード", "部署名")
    ValueList = Array("B088", "電算部")
    RS.AddNew FieldList, ValueList
    RS.Close: CN.Close
    Set RS = Nothing: Set CN = Nothing
End Sub

f:id:ray88:20201126000101p:plain
【AddNewメソッドを実行後、Fieldオブジェクトに値を代入し、Updateメソッドを実行する】

RS.AddNew
RS("フィールド1").Value =1
RS("フィールド2").Value =2
RS.Update

(例)

Sub Test4()
    Dim CN As ADODB.Connection
    Dim RS As ADODB.Recordset
    Set CN = CurrentProject.Connection
    Set RS = New ADODB.Recordset
    RS.Open "T部署マスタ", CN, adOpenKeyset, adLockOptimistic
    RS.AddNew
    RS("部署コード") = "B099"
    RS("部署名") = "管理部"
    RS.Update
    RS.Close: CN.Close
    Set RS = Nothing: Set CN = Nothing
End Sub

f:id:ray88:20201126001242p:plain