Объединение данных из нескольких связанных таблиц Excel в основную таблицу доступа

677
Andrew Tan

У меня есть несколько листов Excel с точно такими же заголовками, которые я связал в Access. У меня возникла проблема с объединением всех данных из файлов Excel в одну основную таблицу Access при сохранении обновленной главной таблицы Access, когда люди редактируют информацию в листах Excel. Обычно используется запрос, но может ли база данных Access обновить данные самостоятельно?

0

1 ответ на вопрос

0
Rajesh S

Самый простой метод, который я могу вам предложить, это Update Query.

Поскольку ваши листы Excel идентичны таблице базы данных Access, запрос на обновление будет работать быстрее, и ваш лист Excel будет выглядеть как любая вложенная таблица в Access.

Я надеюсь, что у вас нет пустой строки между заголовками и данными в Excel.

Другое решение - VBA Code, вы можете попробовать это.

Private Sub UpdateAccess()  Dim db As Database Dim rs As RecordSet Dim sql As String Dim dbLocation As String  dbLocation = Workbook.Path & "\database\data.accdb" Set db = OpenDatabase(dbLocation) sql = "Select * FROM [Main Table]" Set rs = db.OpenRecordSet(sql, dbOpenSnapshot)  If Not rs.EOF Then Worksheets("Sheet1").Range("A1").CopyFromRecordset rs End If  rs.Close Set rs = Nothing db.Close Set db = Nothing  End Sub 

NB. Этот код VBA будет успешно работать, когда слияние является безусловным.

Похожие вопросы