VBAから
・SQLiteへINSERT文を実行
できます!
前提
・SQLiteがインストールされていること。
・SQLite ODBC Driverがインストールされていること。
VBAコード
ここでは例として、
・デスクトップ上のSQLiteファイル「sampleDB.db」の
・テーブル「employee」へINSERT文を実行
します。
※INSERTされたレコード件数をメッセージボックスに出力します。
※エラー処理もします。
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim dbName As String
Dim conStr As String
Dim sql As String
Dim con As Object
Dim command As Object
Dim rowNum As Long
'DB名(SQLiteのファイル名)
dbName = "C:\Users\user\Desktop\sampleDB.dba"
'接続文字列
conStr = "DRIVER=SQLite3 ODBC Driver;Database=" & dbName
'INSERT文
sql = "INSERT INTO employee VALUES('00004','太田史郎','男','情シス')"
On Error GoTo Err
'DB接続
Set con = CreateObject("ADODB.Connection")
con.Open conStr
'INSERT文を実行
Set command = CreateObject("ADODB.Command")
With command
.ActiveConnection = con
.CommandText = sql
.Execute rowNum
End With
MsgBox ("登録件数:" & rowNum)
'接続を閉じる
con.Close
Set command = Nothing
Set con = Nothing
Exit Sub
Err:
MsgBox ("エラーが発生しました。" & vbCrLf & vbCrLf & _
Err.Description & vbCrLf), vbCritical
con.Close
Set command = Nothing
Set con = Nothing
End Sub
実行結果
SQLiteへINSERT文を実行できました。
参考①
SQLiteへSELECT文の実行もできます。
詳細は以下の記事をご確認ください。
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Connectionオブジェクト」の「Open」メソッド
●「Commandオブジェクト」の「ActiveConnection」プロパティ
●「Commandオブジェクト」の「CommandText」プロパティ
●「Commandオブジェクト」の「Execute」メソッド