Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос с одного листа на второй в рамках одной книги Excel / 6 сообщений из 6, страница 1 из 1
09.02.2018, 02:46
    #39599453
anton6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с одного листа на второй в рамках одной книги Excel
Всем привет!

Не знаю, куда написать со своей темой...
Вообщем...

На лист1 есть произвольная таблица
На лист2 - начиная с A1 - то куда выводиться результат запроса

Обыскался на сайтах и форумах запросами в google

Как это делать программно на VBA, используя Sql

Подскажите, пожалуйста, примером, типа

Sub
Код...
Мой запрос
Код...
End Sub

Может, кто-то знает...
...
Рейтинг: 0 / 0
09.02.2018, 11:33
    #39599559
Запрос с одного листа на второй в рамках одной книги Excel
Где находится процедура? В этом же файле?
Запрос должен включать строку подключения к листу Excel. Результат вставляется методом CopyFromRecordset. Возможна засада - сработает ли запрос к открытому файлу.
...
Рейтинг: 0 / 0
09.02.2018, 18:15
    #39599847
anton6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с одного листа на второй в рамках одной книги Excel
Да, верно, в том же самом файле
...
Рейтинг: 0 / 0
09.02.2018, 19:54
    #39599870
Шыфл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с одного листа на второй в рамках одной книги Excel
anton6,

А это не ізврат - разговарівать сам с собой на SQL?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Workbook_Open()
    Dim c As New ADODB.Connection
    
    c.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\temp\book1.xlsm;Extended Properties=""Excel 12.0;HDR=YES"";"
    c.Open
    
    Dim r As New ADODB.Recordset
    
    Set r = c.Execute("select * from [Sheet1$]")
    Worksheets("sheet2").Range("A2").CopyFromRecordset r
End Sub
...
Рейтинг: 0 / 0
09.02.2018, 20:38
    #39599876
anton6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с одного листа на второй в рамках одной книги Excel
Да, спасибо

Вот, тоже

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub SQLCopy()

Dim MyConnection As ADODB.Connection
Dim MyRecord As ADODB.Recordset

Set MyConnection = New ADODB.Connection
Set MyRecord = New ADODB.Recordset

With MyConnection
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";" & _
        "Extended Properties=Excel 8.0;"
    .Open
End With

MyRecord.Open "SELECT * FROM [Ëèñò1$]  ", MyConnection

Sheets("Ëèñò3").Cells(2, 1).CopyFromRecordset MyRecord

MyRecord.Close
MyConnection.Close

End Sub
...
Рейтинг: 0 / 0
12.02.2018, 10:49
    #39600448
Запрос с одного листа на второй в рамках одной книги Excel
anton6Вот, тоже

Код: vbnet
1.
2.
MyRecord.Open "SELECT * FROM [Лист1$]  ", MyConnection
Sheets("Лист3").Cells(2, 1).CopyFromRecordset MyRecord

Надеюсь, в реальности у вас запрос с условиями отбора по нескольким полям.
В примере просто копируются все данные с одного листа на другой. Применение SQL здесь не только не логично, но и может нагадить, если неправильно определит типы данных.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос с одного листа на второй в рамках одной книги Excel / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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