powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / SQL в Excel-e
4 сообщений из 4, страница 1 из 1
SQL в Excel-e
    #38568843
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за возможное повторение, иначе дайте ссылку - сам не смог найти.
Как в Экселе написать запрос на данные одного Листа и получить ответ в другом Листе?
Скажем Sheet1 содержит информацию:
Код: plaintext
1.
2.
3.
4.
5.
Date         QTY
-----------  ---
10/01/2014    1
10/01/2014    2
11/01/2014    1
11/01/2014    7

написать бы SQL, ("select Date, sum(QTY) from Sheet1 group by Date") и получить ответ в Sheet2:

Код: plaintext
1.
2.
3.
4.
Date         sum(QTY)
-----------  ---
10/01/2014    3
11/01/2014    8


Ну или некий более сложный запрос.
Есть что-то типовое? Хотелось бы иметь под рукой загатовку (template), чтобы каждый раз писать только SQL и получать результат?
...
Рейтинг: 0 / 0
SQL в Excel-e
    #38568849
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim cn As Object, rs As Object
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ThisWorkbook.FullName + ";Extended Properties='Excel 8.0'"
rs.Open "select NUM, Sum(SUM) from [Лист2$] group by NUM order by Sum(SUM) DESC", cn, 3
Cells(1, 5).CopyFromRecordset rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing



Если вы используете для подключения OLE DB и параметр HDR=Yes, то обращаться к полям нужно по именам, оказавшимся в первой строке диапазона-источника. Можете выставить HDR=No, тогда имена полей будут F1, F2, F3 и т.д.
Не забывайте, что при использовании параметра IMEX=1 все данные преобразуются в текст!
...
Рейтинг: 0 / 0
SQL в Excel-e
    #38569037
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, Shocker.Pro
А можно ли сделать так, чтобы загаловки столбцов автоматически печатались в результате?
...
Рейтинг: 0 / 0
SQL в Excel-e
    #38569065
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у CopyFromRecordset такого параметра нет, вручную - все, что угодно
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / SQL в Excel-e
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]