Excel VBAでSQLServerのデータを更新するサンプルです。
サンプル | insertのサンプル |
updateの場合 | |
deleteの場合 | |
参考 | 参照の設定 |
insertのサンプル
SQLServerに接続してインサートを実行するサンプルです。
Sub test1()
Dim SQL As String
Const pv = "SQLOLEDB" 'Provider
Const ds = "localhost\SQLEXPRESS" 'Data Source
Const db = "testDB1" 'DB
Const sec = "SSPI" 'Windows認証
SQL = "insert into syain(id,name,romaji) VALUES(5,'高橋','takahashi')"
On Error GoTo Exception
Dim conn As New ADODB.Connection
conn.ConnectionString = _
"Provider=" & pv & ";" & _
"Data Source=" & ds & ";" & _
"Initial Catalog=" & db & ";" & _
"Integrated Security=" & sec & ";"
conn.Open
conn.Execute (SQL)
conn.Close
Set conn = Nothing
Exit Sub
Exception:
Set conn = Nothing
MsgBox Err.Number & vbCrLf & Err.Description
End Sub
5行目は、Data Sourceです。
6行目は、データベース名です。
7行目は、Windows認証を示します。
9行目は、実行するSQLです。
22行目は、SQLを実行します。
例外発生時は、28行目以降が実施されます。
updateの場合
updeteを行う場合は、9行目のSQL文を変更します。
SQL = "update syain Set name='武田',romaji='takeda' where id=5"
deleteの場合
deleteを行う場合は、9行目のSQL文を変更します。
SQL = "delete from syain where id = 5"
参照の設定
DBに接続するには、参照の設定が必要です。
1.「ツール」→「参照設定」をクリックします。
2.参照可能なライブラリで「Microsoft ActiveX Data Objects 2.8 Library」にチェックをいれOKを押します。
チェックをしないで実行するとADODB.Connectionの行で
「ユーザ定義型は定義されていません。」のコンパイルエラーが表示されます。
関連の記事