ほげーむわーく

宿題をゲームのように楽しむブログ

VBAでデータベースを活用しよう~データ更新編~

f:id:takehito33711:20190109204717j:plain

前回SQL文を使って色々な条件でデータを取得しました。
今回はデータベースに入っているデータの変更・更新をやっていきましょう。

前回の記事↓

takehito33711.hatenablog.com


現在データベースには↓のデータが入っている状態です。

ID 名前 生年月日 年齢 職業
1 サザエ 1922/11/22 27 主婦
2 波平 1985/9/14 54 会社員
3 フネ 1901/1/11 48 主婦
4 マスオ 1971/4/3 32 会社員
5 カツオ 1938/3/11 11 小学生
6 ワカメ 1942/6/15 9 小学生
7 タラオ 1947/3/18 3 子ども

データを変更・更新するSQL

データを変更するSQL文の公式は以下の通りです。

UPDATE テーブル名 SET 列名1=データ1, 列名2=データ2,... WHERE 条件式

例として、「サザエ」となっている所を「サザエさん」に変更してみましょう。

このときのSQLは↓のようになります。

SQL = "UPDATE テーブル名 SET 名前='サザエさん' WHERE ID=1"

実際のコード

実際のコードは↓のようになります。

Public Sub データの変更・更新()
    
 '参照設定:Microsoft ADO Ext.6.0 for DDL and Security
    
Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim CMD As ADODB.Command
Dim SQL As String
Dim strDB As String
Dim DBFile As String
   
DBFile = "ファイルの絶対パス"
strDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile
    
Set CN = New ADODB.Connection
CN.ConnectionString = strDB
CN.Open
    
SQL = "UPDATE ブログ用 SET 名前='サザエさん' WHERE ID=1"
    
Set CMD = New ADODB.Command
CMD.ActiveConnection = CN
CMD.CommandText = SQL
CMD.Execute
    
CN.Close
Set CMD = Nothing
Set CN = Nothing
    
MsgBox "変更が完了しました"
    
End Sub

[実行結果]

f:id:takehito33711:20190109210821p:plain