Я новичок в SQL и VBA. Я написал SQL-запрос, который хотел бы иметь возможность вызывать и запускать с помощью VBA в книге Excel, а затем выводить результаты запроса в книгу. Я нашел несколько онлайн-приложений (stackoverflow и другие места), которые заявляют об этом, но у меня возникли проблемы с их пониманием, поскольку они не содержат никаких объяснений. Например, вот что я нашел в Интернете:
Sub ConnectSqlServer()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=INSTANCE\SQLEXPRESS;" & _
"Initial Catalog=MyDatabaseName;" & _
"Integrated Security=SSPI;"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open the connection and execute.
conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM Table1;")
' Check we have data.
If Not rs.EOF Then
' Transfer result.
Sheets(1).Range("A1").CopyFromRecordset rs
' Close the recordset
rs.Close
Else
MsgBox "Error: No records returned.", vbCritical
End If
' Clean up
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
Прежде всего, будет ли это работать? Во-вторых, что мне нужно заменить на суб (это выглядит как поставщик, источник данных, начальный каталог и т.д.) И где я могу найти информацию для их замены?
Надеюсь, этот вопрос не слишком запутан, и я ценю вашу помощь!