●概要●
Access2000に登場したADO(Microsoft ActiveXデータオブジェクト)を使ってレコードを追加する方法です。
●詳細●
- ADOはccessデータベース以外にもSQLサーバーやオラクルにも
アクセスすることが目的です。
ADOではコネクションというオブジェクトを使ってデータベースに
接続します。
カレントのデータベースを開くにもコネクションの指定が必要です。
- Recordsetオブジェクトを使うためには、まずオブジェクト変数の
宣言を行い、次に宣言したオブジェクト変数に、オブジェクトの
参照を割り当てる処理が必要になります。ここでは宣言と同時に
新規オブジェクトへ参照を代入しています。
- カレントデータベースに接続します。
- 商品テーブルを参照して、編集可能なレコードセットを取得します。
- AddNewメソッドでレコードセットに新しいレコードを追加します。
- 商品名フィールドと単価に値を代入しています。
- レコードを保存するには、Updateメソッドを実行する必要があります。
- レコードセットを閉じます。
- オブジェクト変数を削除します。
- データベースの接続を終了します
- オブジェクト変数を削除します。
●サンプルコード●
Private Sub 登録_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.Open "商品テーブル",cn,adOpenKeyset,adLockOptimistic,adCmdTableDirect
rs.AddNew
rs("商品名") = Me![商品名]
rs("単価") = Me![単価]
rs.Update
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
●注意●
Visual BasicでADOを利用するためにはデータベースにADOのライブラリーを追加する必要があります。Visual Basic Editorを起動してメニューバーの「ツール」-「参照設定」を選択し、「参照可能なライブラリファイル」の中に、Microsoft ActiveX DataObjects 2.1 Library にチェックがついていることを確認してください。通常、Access2000で新規作成すると上記ライブラリを含めた4つのライブラリがチェックされています。