【发布时间】:2021-05-12 13:30:14
【问题描述】:
我的 VBA 代码连接到 Sqlite 数据库
Sub LoadValues()
Dim conn As Object, rst As Object
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
' OPEN CONNECTION
'Am getting Error at this line
conn.Open "DRIVER={Microsoft.ACE.OLEDB.12.0 (*.db, *.accdb)};DBQ=E:\VBA_Project_Demo\Demo\demo.db;"
strSQL = "SELECT * FROM test "
' OPEN RECORDSET
rst.Open strSQL, conn
' OUTPUT TO WORKSHEET
Worksheets("results").Range("A1").CopyFromRecordset rst
rst.Close
' FREE RESOURCES
Set rst = Nothing: Set conn = Nothing
End Sub
【问题讨论】:
-
不应该是
"DRIVER=SQLite3 ODBC Driver;Database=E:\VBA_Project_Demo\Demo\demo.db;"吗? -
对于
SQLite使用类似conn.Open "DRIVER=SQLite3 ODBC Driver;Database=E:\VBA_Project_Demo\Demo\demo.db;"的东西,对于 Access 使用类似conn.Open "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:\VBA_Project_Demo\Demo\demo.accdb;"的东西 -
@Jeeped 实际上我也尝试了你提到的那种语法,但又遇到了同样的错误
-
@SiddharthRout 根据您的语法,它用于 MS Access,它需要 *.mbd 文件,但我正在尝试连接 SQLite,请建议一些其他解决方案或语法
-
我使用了这样的语法==> conn.Open "DRIVER=SQLite3 ODBC Driver;Database=E:\VBA_Project_Demo\Demo\demo.db;" 但是得到同样的错误