У меня есть таблица Excel "Report.xlsx", которая считывает данные из MS Access "Database.accdb".В Report.xlsx я написал простой макрос «Macro1», который обновляет таблицу данных в электронной таблице.
В MS Access я подключаюсь к Excel и запускаю макрос.
Этот процессзавершается ошибкой со следующей ошибкой в Excel:
DataFormat.Error: The database has been placed in a state by user 'Admin' on machine 'BRNMBL0324' that prevents it from being opened or locked.
Details:
Portal front-end extracts.accdb
Вот MQuery, который завершается ошибкой:
let
Source = Access.Database(File.Contents("Database.accdb"), [CreateNavigationProperties=true]),
#"Table 1" = Source{[Schema="",Item="My database table"]}[Data]
in
#"Table 1"
Если я читаю базу данных с использованием Binary.Buffer (для * 1012)* процесс работает:
let
MyDbBinary = Binary.Buffer(File.Contents("Database.accdb")),
Source = Access.Database(MyDbBinary, [CreateNavigationProperties=true]),
#"Table 1" = Source{[Schema="",Item="My database table"]}[Data]
in
#"Table 1"
Поскольку в электронной таблице имеется только один запрос, я уверен, что проблема не в параллельных запросах. Я закрыл и снова открыл базу данных Access, поэтому я знаю, что проблемане является несохраненным объектом в MS Access.
Является ли использование Binary.Buffer надежным способом решения этой проблемы?