Обработка 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"

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5