Зміст
Навчання використанню Visual Basic для додатків для імпорту даних у Access може зробити програму баз даних більш динамічною. У VBA можна використовувати комбінацію об'єктів, щоб відкрити лист Excel і імпортувати дані в таблицю Access. Використовуйте бібліотеку об'єктів для Microsoft Excel у VBA, щоб відкрити аркуш. Об'єкт Recordset використовується для відкриття таблиці в Access і збереження даних, імпортованих з Excel. Використання VBA для імпорту даних значно скорочує час, витрачений на виконання процесу вручну.
Інструкції
Імпортуйте дані з Excel до Access за допомогою бібліотеки об'єктів Excel (Jupiterimages / Photos.com / Getty Images)-
Відкрийте Microsoft Excel і введіть "data1" в A2 і "data2" в B2. Натисніть Ctrl + S, щоб зберегти документ. Збережіть аркуш "C: Temp" з назвою "dataToImport.xlsx". Натисніть кнопку Зберегти, а потім закрийте Excel.
-
Запустіть Microsoft Access, натисніть "Нова база даних" і натисніть "Створити". Натисніть кнопку "Інструменти бази даних" і натисніть кнопку "Visual Basic", щоб відкрити редактор VB. Натисніть меню "Вставити" і натисніть "Модуль", щоб вставити новий модуль коду. Натисніть меню "Інструменти", а потім "Посилання" і встановіть прапорець біля "Бібліотека об'єктів Microsoft Excel
'. -
Спочатку введіть наступний код VBA, щоб створити нову підпроцедуру:
Приватне імпортування SubExcelData ()
-
Введіть наступний код, щоб створити змінні, які будуть використовуватися для читання Excel:
Dim xlApp As Excel.Application Dim xlBk Як Excel.Workbook Dim xlSht Як Excel.Worksheet
-
Введіть наступний код, щоб створити змінні, які будуть використовуватися в Access:
Dim dbRst As Recordset Розмір dbs як бази даних Dim SQLStr As String
-
Введіть наступний код для визначення об'єктів банку, а також для визначення робочого аркуша:
Встановити dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open ("C: Temp.ToImport.xlsx") Встановити xlSht = xlBk.Sheets (1)
-
Створіть нову таблицю з двома стовпцями в Access для імпортування даних Excel. Введіть наступний код для створення таблиці за допомогою об'єкта DoCmd:
SQLStr = "CREATE TABLE excelData (стовпець" ТЕКСТ "," стовпчик "-" ТЕКСТ) "DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)
-
Відкрийте таблицю, яку ви тільки що створили, за допомогою об'єкта Recordset. Введіть наступний код, щоб відкрити таблицю та додати новий рядок:
Встановити dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew
-
Введіть наступний код, щоб отримати значення на робочій таблиці Excel, збережіть їх у таблиці та оновіть запис:
xlSht.Range ("A2") Виберіть dbRst.Fields (0) .Value = xlSht.Range ("A2") Значення xlSht.Range ("B2") Виберіть dbRst.Fields (1) .Value = xlSht. Діапазон ("B2"). Значення dbRst.Update
-
Виконайте процедуру, ввівши наступний код VBA:
dbRst.Close dbs.Close xlBk.Close End Sub
-
Натисніть F5, щоб виконати процедуру. Дані в робочій таблиці Excel будуть імпортовані в таблицю Access.