引数 | 値 | 内容 |
|
||
adOpenForwardOnly | 0 | 既定値です。前方向にのみ移動でき、他はadOpenStaticと同じです。 参照のみなら最も高速です。 |
adOpenKeyset | 1 | ほかのユーザーが追加したレコードは表示できない以外、adOpenDynamicと同じです。 ほかのユーザーが削除したレコードはアクセスできません。 ほかのユーザーが変更したデータは表示できます。 |
adOpenDynamic | 2 | Recordset 内でのすべての動作を許可します。 ほかのユーザーによる追加、変更、および削除ができます。 |
adOpenStatic | 3 | データの検索またはレポートの作成に使用します。 ほかのユーザーによる追加、変更、または削除は表示されません。 |
adOpenUnspecified | -1 | 種類を指定しません。 |
ロックタイプには下記の種類があります。
引数 | 値 | 内容 |
|
||
adLockReadOnly | 1 | 既定値です。 読み取り専用です。データの変更はできません。 |
adLockPessimistic | 2 | レコード単位で排他的ロックを行います。 編集直後にレコードをロックします。 |
adLockOptimistic | 3 | レコード単位で共有的ロックを行います。 Updateメソッドを呼び出した場合にのみ、共有的ロックします。 |
adLockBatchOptimistic | 4 | 複数のレコードをバッチ更新します。 |
adLockUnspecified | -1 | ロックの種類を指定しません。 |
■ 実行Access画面
「ADOで新規レコードを追加」ボタンで追加を開始します。
実行順は、AddNewメソッドで開始し、Updateメソッドで更新します。
■レコードが追加されています。
顧客IDはオートナンバー型なので自動的にナンバーが入力されています。
■ Access VBA 実行コード例
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = Application.CurrentProject.Connection
Set rs = New ADODB.Recordset
'テーブルを開く
rs.Open "M_顧客マスター", cn, adOpenKeyset, adLockOptimistic
'新規レコードの追加
rs.AddNew
rs!顧客名 = "大山信二"
rs!年齢 = "33"
rs!登録日 = Now
rs.Update
'ADOを閉じる
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
MsgBox "データを追加しました。"
End Sub