Макрос для экспорта диапазона Excel для доступа к таблице
Sub export_data()
‘ таблица для вставки, рабочая книга ,диапазон для экспорта
Вызова insert_data(«tbl_sample», эта рабочая книга, Лист1.Диапазон(«А1:В9»))
конец суб
суб insert_data(имя таблицы в виде строки, ВКБ как книги, ГСЧ в качестве диапазона)
Дим на CNN как adodb.Подключение
Дим workbookname как строку
в виде строки типа sqlstring Дим
Дим rngtoinsert как String
как String dbpath Дим
Дим columnnames как строку
Дим columncounter как целое
набора телеканал CNN = новый объект adodb.Подключение
dbpath = thisworkbook в.Путь и имя рабочей книги «\database.accdb »
= wkb.Полное имя
rngtoinsert = «[» & rng.Родитель.Имя и » $ » и гсч.Адрес(0, 0) & «]»
‘ извлеките имена столбцов/полей
Для подсчета столбцов = 1 В rng.Столбцы.
Количество имен столбцов = имена столбцов & «[» & rng.Ячейки(1, счетчик столбцов).Значение & «],»
Следующие
имена столбцов = Слева(имена столбцов, Len(имена столбцов) — 1)
» создать соединение
cnn = «Поставщик=Microsoft.ACE.OLEDB.12.0;Источник данных=» & dbpath
cnn.Откройте cnn
‘ добавить данные в таблицу доступа
sqlstring = «ВСТАВИТЬ В» & имя таблицы & «(» & имена столбцов & «) »
sqlstring = sqlstring & «ВЫБЕРИТЕ * ИЗ [Excel 12.0;HDR=ДА;БАЗА ДАННЫХ=» & имя рабочей книги & «].» & rngtoinsert
» выполнить команду и закрыть соединение
cnn.Выполнить sqlstring
cnn.Закрыть
конец Sub