VBA SQL Serverに接続してセルの値をInsertする
VBAで、SQL Serverに接続してInseServerに接続してセルの値をInsertするコードを記述してます。
環境
- OS windows10 64bit
セルの値をInsert
SQL Serverに接続してセルの値をInsertするには、「ADODB.Connection」を使用します。
実際に適当なボタンを用意して、テーブルにセルにあるデータを Insert していく
以下のソースコードを記述します。
DBは「sample」というDBで、テーブルは下図の列が定義された「Test」を使用します。
挿入するセルデータ
ソースコード
Option Explicit
Private Const PROVIDER As String = "SQLOLEDB"
Private Const DATA_SOURCE As String = "localhost" 'サーバ名
Private Const DATABASE As String = "sample" 'データベース名
'SQL Server認証で接続する場合
Private Const USER_ID As String = "sa" 'ユーザID
Private Const PASSWORD As String = "password" 'ユーザパスワード
Private Sub CommandButton1_Click()
On Error GoTo EXCEPTION_SECTION
Const PROCEDURE_NAME As String = "CommandButton1_Click"
Dim strSQL As String
Dim i As Long
Dim adoCn As Object
Dim adoRs As Object
'--------------------------------
' データベース接続
'--------------------------------
Set adoCn = CreateObject("ADODB.Connection")
'SQL Server認証
adoCn.ConnectionString = "Provider=" & PROVIDER _
& ";Data Source=" & DATA_SOURCE _
& ";Initial Catalog=" & DATABASE _
& ";UID=" & USER_ID _
& ";PWD=" & PASSWORD
' オープン
adoCn.Open
For i = 1 To Range("A1").End(xlDown).Row
' 実行するクエリ
strSQL = "Insert into [sample].[dbo].[Test](id,name) VALUES(" & Cells(i, 1).Value & ",'" & Cells(i, 2).Value & "' )"
' 実行
adoCn.Execute (strSQL)
Next i
GoTo EXIT_SECTION
EXCEPTION_SECTION:
With Err
MsgBox (.Description), vbOKOnly + vbExclamation + vbSystemModal, PROCEDURE_NAME
End With
GoTo EXIT_SECTION
EXIT_SECTION:
' データベースのクローズ
If Not adoCn Is Nothing Then
If adoCn.State = 1 Then adoCn.Close ' 開かれていればクローズ
Set adoCn = Nothing
End If
End Sub
実行後に、データがinsertされていることが確認できます。
-
前の記事
SQL Server 空白のカラムをREPLACEできない 2022.09.12
-
次の記事
CentOS9 GlusterFSをインストールする手順 2022.09.12
コメントを書く