Введите свой Sql-запрос в поле ввода в excel и импортируйте данные из access в excel

Введите Sql-запрос в поле ввода и импортируйте данные в excel из таблицы доступа

Подзаголовок import_data()
«Инструменты Повторяют установку объекта microsoft active x
» очищает исходящие данные
В sqlstring Как
Лист Строки1.Диапазон(«a1»).Текущий регион.Очистить
sqlstring = Поле ввода(«Введите запрос»)
Вызовите get_data(sqlstring, Лист1.Диапазон(«А1»), 1)
конец суб

суб get_data(strQry как String, rng_to_paste как спектр, fld_name как логическое значение)
Дим РС как adodb.Записей
Дим СNN как adodb.Подключение
тусклый и
тусклый dbpath как строку
установить RS = новый объект adodb.Записей
набор телеканал CNN = новый объект adodb.Подключение
изменении пути к базе данных здесь
dbpath = thisworkbook в.Путь & «\database.accdb»

«создайте соединение
С cnn
.Провайдер = «Microsoft.ACE.OLEDB.12.0»
.Открытый путь
К базе данных Заканчивается

rs.CursorLocation = adUseClient
rs.cursortype = adOpenDynamic
rs.locktype = Adlockоптимистический

rs.Откройте strQry, cnn

, Если fld_name = True, То

Для i = 1 К rs.Поля.Посчитайте
rng_to_paste.Смещение(0, i — 1).Значение = rs.Поля(i — 1).Имя
следующего
rng_to_paste.Смещение(1, 0).CopyFromRecordset rs
Еще
rng_to_paste.CopyFromRecordset rs
Конец, Если

rs.Закрыть
cnn.Закрыть
Конец Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *