Обработка Range("a1:f10000") в Excele c помощью SQL - запросов. - VB
Формулировка задачи:
Подскажите, пожалуйста, как работать с Range в Excel с помощью sql-запросов?
Вот есть у нас Range("a1:f10000"). Посоветуйте, как в какую-нить переменную (должна после запроса будет содержать совокупность строк, удовлетворяющих условиям sql-запроса) закинуть что-то типа
select * from <Range("a1:f10000") > where <значеніе_в_столбце_b>="Вася" and <значеніе_в_столбце_c>="xyz", чтобы с этой переменной было также легко работать с sql-запросами?
Еще такой момент...
Желательно, чтобы дополнительных компонент также в excel не требовалось устанавливать, т.к. экселевский VBA-код должен работать на любом компьютере, где есть стандартный Excel (практически любом).
Решение задачи: «Обработка Range("a1:f10000") в Excele c помощью SQL - запросов.»
textual
Листинг программы
Set adoCn = CreateObject("ADODB.Connection")
With adoCn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = _
"Data Source=d:MySpreadsheet.xls;" & _
"Extended Properties=Excel 10.0;"
.Open
End With
adoCn.ConnectionString = _
"Data Source=d:MySpreadsheet.xls;" & _
"Extended Properties=Excel 8.0;HDR=No;"
Dim adoRs
Set adoRs = CreateObject("ADODB.Recordset")
strQuery = "SELECT * FROM Authors"
With adoRs
Set .ActiveConnection = adoCn
.Open strQuery
End With
SELECT * FROM [Sheet1$]
SELECT * FROM Range1
SELECT * FROM [Sheet1$E11:F23]
adoCn2.Execute "INSERT INTO Таблица SELECT * FROM [Перемещение$]IN " & Chr(34) & Путь_к_файлу & Chr(34) & " " & Chr(34) & "Excel 8.0;" & Chr(34) & " Where [Перемещение$].[Поле] IS NOT NULL"