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