В ответ на этот вопрос я смог написать сценарий VBA, который успешно подключается к листу в текущей рабочей книге, выполняет запрос SQL для возвращенного набора записей и выводит результат запроса к другому листу в той же книге:
Option Explicit
Sub test()
Dim connection As New ADODB.connection
connection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 12.0;HDR=Yes;"";"
Dim query As String
query = "Select * From [Sheet1$]"
Dim rs As New ADODB.Recordset
rs.Open query, connection
Sheet2.Cells.ClearContents
'Write Header
Dim i As Long
For i = 0 To rs.Fields.Count - 1
Sheet2.Cells(1, i + 1).Value2 = rs.Fields(i).Name
Next i
Sheet2.Range("A2").CopyFromRecordset rs
connection.Close
End Sub
Проблема в том, что я не уверен, какой оператор SQL я хочу использовать. Поэтому я ищу легкий инструмент или среду командной строки SQL, который позволил бы мне подключиться к ядру базы данных Microsoft ACE OLEDB вне из excel и протестировать некоторые SQL запросы на данные, импортированные набор записей выше. Когда я решу, что получил правильный запрос, я могу вставить его в часть query =
моего кода, приведенного выше.
Какие существуют легкие инструменты, которые позволили бы мне явно подключиться к обработчику данных ACE OLEDB вне превзойти и поиграть с SQL, прежде чем я go вернусь в VBA?