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

1 ответ1

0

Самый простой метод, который я могу вам предложить, это 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 будет успешно работать, когда слияние является безусловным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .