Як використовувати VBA для імпорту даних з Excel в Access

Автор: Mark Sanchez
Дата Створення: 7 Січень 2021
Дата Оновлення: 29 Листопад 2024
Anonim
Импорт данных из EXCEL в ACCESS
Відеоролик: Импорт данных из EXCEL в ACCESS

Зміст

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


Інструкції

Імпортуйте дані з Excel до Access за допомогою бібліотеки об'єктів 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, щоб створити нову підпроцедуру:


    Приватне імпортування SubExcelData ()

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

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

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

    Dim dbRst As Recordset Розмір dbs як бази даних Dim SQLStr As String

  6. Введіть наступний код для визначення об'єктів банку, а також для визначення робочого аркуша:

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

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

    SQLStr = "CREATE TABLE excelData (стовпець" ТЕКСТ "," стовпчик "-" ТЕКСТ) "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 будуть імпортовані в таблицю Access.