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の行で
「ユーザ定義型は定義されていません。」のコンパイルエラーが表示されます。
関連の記事
