Sub Get_Data()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim dateVar As Date
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=bi; UID=username; PWD=password; OPTION=3"
conn.Open
strSQL = " SELECT " & _
" Products " & _
" FROM Logistics " & _
" WHERE DATE(insert_timestamp) = ""2020-02-24"" " & _
" GROUP BY 1"
Set rs = New ADODB.Recordset
rs.Open strSQL, conn, adOpenStatic
Sheet5.Range("A1").CopyFromRecordset rs
rs.Close
conn.Close
End Sub
Я запускаю выше VBA
, чтобы извлечь значения из database
.
Это работает именно так, как мне нужно.
Теперь вместо того, чтобы иметь предварительно определенную дату в strSQL
Я хочу использовать данные, которые вводятся в Cell B1
в моем Excel электронные таблицы. Поэтому я изменил strSQL
часть в VBA
на:
strSQL = " SELECT " & _
" Products " & _
" FROM Logistics " & _
" WHERE DATE(insert_timestamp) = " & Sheet1.Range("B1") & " " & _
" GROUP BY 1"
Однако теперь я получаю runtime error -2147217887 (80040e21)
на rs.Open strSQL, conn, adOpenStatic
.
Что мне нужно изменить по моему VBA
чтобы это заработало?