VBA 403号室:Accessデータベースに情報を追加

スポンサーリンク
VBAの部屋

ExcelからAccessデータベースのテーブルに情報を追加する

Kappo
Kappo

Excelで入力や更新されたAccessのデータベース(主にテーブルデータ)に追加する方法をこの部屋に掲載していますよ!!

作業をしているといつまでも同じデータだけで行う事ってないですよね。

更新処理は必須だから、この部屋を方法を使ってね!!

※テーブルの作成は 「VBA:Accessデータベースの情報を取得ー別部屋」を参照してください

データベース(Access)の準備が出来たので取得のプログラムを記述します

「ADO」が使えるように参照設定で追加する
※追加の方法は 「参照ライブラリを追加する(参照設定)-別部屋」を参照してください

コマンドボタンがクリックされた時に実行されるプログラム
「CommandButton3」
「VBA:Accessデータベースの情報を取得」で作成したプログラムの接続後の処理プログラムの箇所を変更します

tblDataに情報を追加する

▼プログラム▼

Dim cnn As ADODB.Connection
Dim rec As ADODB.Recordset
Dim mySQL As String
Dim mdbPath As String

mdbPath = "C:\Sample\Sample.accdb" '接続するAccessファイルのフルパス

Set cnn = New ADODB.Connection

'DB接続文字列
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.16.0;" _
                            & "Data Source=" & mdbPath & ";"

cnn.Open '接続の確立

'------------------------------
’ ※接続後の処理プログラム

Set rec = New ADODB.Recordset

mySQL = "SELECT * FROM tblData"

Call rec.Open(mySQL, cnn, adOpenDynamic, adOpenDynamic)   '書き込み可能で開きます
                           ' ↑CursorTypeとOptionの組合せはおまじない的にいつも同じ 笑

rec.AddNew    '新しいレコード追加

rec("Data1").Value = "え"    'フィルード名を指定する
 '下記の記述も同じ
 'rec!Data1.Value       'これもフィールド名を指定する
 'rec.Fileds(0).Value   'これはフィールド位置(0から始まる)を指定する

rec("Data2").Value = "d" 
rec("Data3").Value = "40"
rec("Data4").Value = "1" 

rec.UpDate    '追加したレコードをアップデートする
'※UpDateすることで追加情報が確定される

rec.Close

'------------------------------
'後片付け
Set rec = Nothing

'------------------------------

cnn.Close()

'------------------------------
'後片付け
Set cnn = Nothing

テーブルの最後に情報が追加されてました

Amazon | 本, ファッション, 家電から食品まで | アマゾン
Amazon.co.jp 公式サイト。アマゾンで本, 日用品, ファッション, 食品, ベビー用品, カー用品ほか一億種の商品をいつでもお安く。通常配送無料(一部を除く)

  

VBAの部屋
スポンサーリンク
シェアする
Kappoをフォローする

コメント

タイトルとURLをコピーしました