Обработка 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"
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д