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

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

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

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

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

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

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

Может, кто-то знает...
...
Рейтинг: 0 / 0
Запрос с одного листа на второй в рамках одной книги Excel
    #39599559
Где находится процедура? В этом же файле?
Запрос должен включать строку подключения к листу Excel. Результат вставляется методом CopyFromRecordset. Возможна засада - сработает ли запрос к открытому файлу.
...
Рейтинг: 0 / 0
Запрос с одного листа на второй в рамках одной книги Excel
    #39599847
anton6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, верно, в том же самом файле
...
Рейтинг: 0 / 0
Запрос с одного листа на второй в рамках одной книги Excel
    #39599870
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Запрос с одного листа на второй в рамках одной книги Excel
    #39599876
anton6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, спасибо

Вот, тоже

Код: 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
Запрос с одного листа на второй в рамках одной книги Excel
    #39600448
anton6Вот, тоже

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

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


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