VBAでデータベースを活用しよう~データ更新編~
前回はSQL文を使って色々な条件でデータを取得しました。
今回はデータベースに入っているデータの変更・更新をやっていきましょう。
前回の記事↓
現在データベースには↓のデータが入っている状態です。
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は↓のようになります。
実際のコード
実際のコードは↓のようになります。
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
[実行結果]