Я пытаюсь импортировать данные из базы данных SQLight в EXCEL с помощью vba, и вот мой код:
Sub Importer_Contrat()
Dim conn As Object, rst As Object
Dim strSQL As String, table_name As String
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
' OPEN CONNECTION
conn.Open "DRIVER=SQLite3 ODBC Driver;Database=" & Chemin_BDD & BDD2 & ";"
strSQL = "SELECT * FROM " & Contract_Table
' OPEN RECORDSET]
rst.Open strSQL, conn
' OUTPUT TO WORKSHEET
sh_test_sql.Range("test_paste").CopyFromRecordset rst
rst.Close
End Sub
В моей базе данных есть только 3 столбца (хроно Integer
, ном.Text
и Дата Integer
)
VBA работает хорошо, когда я запрашиваю Integer, но каждый раз, когда его просят импортировать данные из столбца Name, который является Text, а не Integer, он не работает.
С кодом выше я просто получаю первый столбец Chrono в Integer.
Что также очень странно, так это то, что если я использую этот код:
strSQL = "SELECT * FROM " & Contract_Table
' OPEN RECORDSET]
rst.Open strSQL, conn
Do While Not rst.EOF
MsgBox rst(1)
rst.MoveNext
Loop
, я вижу текст, который хочу импортировать, но он не работает с набором записей.Вы знаете, откуда возникла проблема?Мне нужно вставить большую таблицу на лист Excel, и я уже несколько дней ищу ответ.
Заранее спасибо!