powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Sql запрос к листу книги
6 сообщений из 6, страница 1 из 1
Sql запрос к листу книги
    #35781165
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

На одном листе книги (Лист1) размещена таблица.
Как мне сделать sql запрос к таблице, находящейся на листе1 , а результат запроса вставить в лист2?

Предполагаю сделать так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
sqlstring = "select * from ...."

connString = _ подключение к листу № 1 


With ActiveSheet.QueryTables.Add(Connection:=connString, _
     Destination:=Range("H1"), SQL:=sqlstring)

      .Refresh
          
End With

Но не знаю как сделать подключение.
...
Рейтинг: 0 / 0
Sql запрос к листу книги
    #35782125
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем. Сделал вот так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub port()

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset

Dim strCnnString As String
Dim strSource As String

strSource = ThisWorkbook.FullName
    
Set cnn = New ADODB.Connection


cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Datas"
cnn.Open

sqlquery = "select * From stat "
    
Set rst = cnn.Execute(sqlquery)
Range("H1").CopyFromRecordset rst
    
    
cnn.Close

Set rst = Nothing
Set cnn = Nothing

End Sub
но возникает проблема переносе на другой комп, так как Data Source (подключение к базе происходит как написано здесь http://www.askit.ru/custom/vba_office/m9/09_04_excel_connection.htm (вообще всем рекомендую данный курс)).
Попробовал заменить строчку
Код: plaintext
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Datas"
на
Код: plaintext
1.
datas = ActiveWorkbook.Path & "\" & ThisWorkbook.Name
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & datas

и все равно ничего не получается. Ошибка говорит : "Нераспознаваемый формат базы данных"

Подскажите как исправить ситуацию.
Я хочу воткнуть данный макрос в модуль книги и запускать его на всех компах, где установлен EXCEL
...
Рейтинг: 0 / 0
Sql запрос к листу книги
    #35782171
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищите по форуму. Неоднократно обсуждалось.
...
Рейтинг: 0 / 0
Sql запрос к листу книги
    #35782202
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь день вчера искал. Находил только подключение к mdb файлам.
Может дадите ссылочку?
...
Рейтинг: 0 / 0
Sql запрос к листу книги
    #35782445
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Sql запрос к листу книги
    #35782686
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Позже попробую такой вариант.
А пока я сделал вот так :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset

Dim strCnnString As String
Dim strSource As String

strSource = ThisWorkbook.FullName
    
Set cnn = New ADODB.Connection

datas = ActiveWorkbook.Path & "\" & ThisWorkbook.Name
fPath = ActiveWorkbook.Path

cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DBQ=" & datas & ";DefaultDir=" & fPath & " ;Driver={Microsoft Excel Driver (*.xls)};DriverId=790;FIL=excel 8.0;FILEDSN=" & datas & ".dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"

cnn.Open

sqlquery = "select * From stat"
    
Set rst = cnn.Execute(sqlquery)
Range("H1").CopyFromRecordset rst
    
    
cnn.Close

Set rst = Nothing
Set cnn = Nothing
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Sql запрос к листу книги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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