Как использовать VBA для импорта данных из Excel в Access

Автор: Mark Sanchez
Дата создания: 4 Январь 2021
Дата обновления: 3 Декабрь 2024
Anonim
Импорт данных из EXCEL в ACCESS
Видео: Импорт данных из EXCEL в ACCESS

Содержание

Изучение того, как использовать Visual Basic для приложений для импорта данных в Access, может сделать ваше приложение базы данных более динамичным. В VBA вы можете использовать комбинацию объектов, чтобы открыть лист Excel и импортировать данные в таблицу Access. Используйте библиотеку объектов для Microsoft Excel в VBA, чтобы открыть лист. Объект Recordset используется для открытия таблицы в Access и сохранения данных, импортированных из Excel. Использование VBA для импорта данных значительно сокращает время, затрачиваемое на выполнение процесса вручную.


направления

Импорт данных из Excel для доступа с использованием библиотеки объектов Excel (Jupiterimages / Photos.com / Getty Images)
  1. Откройте Microsoft Excel и введите «data1» в A2 и «data2» в B2. Нажмите Ctrl + S, чтобы сохранить документ. Сохраните лист в «C: Temp » с именем «dataToImport.xlsx». Нажмите Сохранить, а затем закройте Excel.

  2. Запустите Microsoft Access, нажмите «Новая база данных» и нажмите «Создать». Нажмите «Инструменты базы данных» и нажмите «Visual Basic», чтобы открыть редактор VB. Нажмите меню «Вставить» и нажмите «Модуль», чтобы вставить новый код модуля. Откройте меню «Сервис», затем «Ссылки» и установите флажок рядом с «Библиотека объектов Microsoft Excel». '.

  3. Начните с ввода следующего кода VBA для создания новой подпроцедуры:


    Private Sub importExcelData ()

  4. Введите следующий код для создания переменных, которые будут использоваться для чтения Excel:

    Dim xlApp As Excel.Application Dim xlBk As Excel.Workbook Dim xlSht As Excel.Worksheet

  5. Введите следующий код для создания переменных, которые будут использоваться в Access:

    Dim dbRst как набор записей Dim dbs как база данных Dim SQLStr как строка

  6. Введите следующий код, чтобы определить объекты банка, а также определить, какой лист использовать:

    Установить dbs = CurrentDb Установить xlApp = Excel.Application Установить xlBk = xlApp.Workbooks.Open ("C: Temp dataToImport.xlsx") Установить xlSht = xlBk.Sheets (1)

  7. Создайте новую таблицу с двумя столбцами в Access для импорта данных Excel. Введите следующий код для создания таблицы с использованием объекта DoCmd:

    SQLStr = "CREATE TABLE excelData (columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)


  8. Откройте таблицу, которую вы только что создали с помощью объекта Recordset. Введите следующий код, чтобы открыть таблицу и добавить новую строку:

    Установите dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew

  9. Введите следующий код, чтобы получить значения в рабочей таблице Excel, сохранить их в своей таблице и обновить запись:

    xlSht.Range ("A2") Выберите dbRst.Fields (0) .Value = xlSht.Range ("A2"). Значение xlSht.Range ("B2"). Выберите dbRst.Fields (1) .Value = xlSht. Диапазон ("B2"). Значение dbRst.Update

  10. Завершите процедуру, введя следующий код VBA:

    dbRst.Close dbs.Close xlBk.Close End Sub

  11. Нажмите F5, чтобы выполнить процедуру. Данные в рабочей таблице Excel будут импортированы в вашу таблицу доступа.