Я использую решение для управления версиями и обновлениями, аналогичное описанному в в этом ответе , которое использует SaveAsText
и LoadFromText
для управления добавочными обновлениями.
Однако недавно возникла проблема при загрузке отчетов, сохраненных с использованием LoadFromText
, которые были созданы с использованием SaveAsText
на разных компьютерах. Я отследил эту проблему до следующей проблемы:
MCVE
На ПК 1:
- Создать новую базу данных
- Создать таблицу в этой базе данных, используя ленту Создать , затем Таблица Кнопка
- Закройте и сохраните эту таблицу
- Создайте отчет, выбрав таблицу и нажав Создать , а затем Отчет
- Закрыть и сохранить отчет
- В ближайшем окне выполнить
SaveAsText acReport, "Table1", "C:\SomePath\Report.txt"
на ПК 2:
- Создать новую базу данных
- В ближайшем окне выполнить
LoadFromText acReport, "Table1", "C:\SomePath\Report.txt"
- Я получаю общую ошибку, файл с именем error.txt создается в расположении базы данных, и в нем говорится Ожидается: имя объекта. Наблюдаемый: IvyChart .
Дополнительные наблюдения:
Текстовый файл Report.txt составляет примерно 100 КБ (предыдущий экспорт отчетов на основе небольших таблиц составлял около 40 КБ).
В файле report.txt вы можете найти отчет, содержащий:
- A BoundObjectFrame
- Диаграмма
- UnboundObjectFrame
- CustomControl
- Веб-браузер
- A NavigationControl
IvyChart со следующими свойствами:
UnknownProp = {48 ,329 ,2 ,1 ,1 } Begin
0x00
End
UnknownProp = {49 ,11 ,2 ,1 ,1 } Begin
0x00
End
UnknownProp = {98 ,150 ,3 ,4 ,2 } Begin
0xb811
End
UnknownProp = {99 ,44 ,3 ,4 ,2 } Begin
0x130b
End
UnknownProp = {260 ,462 ,4 ,4 ,4 } Begin
0x27000080
End
UnknownProp = {295 ,616 ,4 ,0 ,4 } Begin
0x01000000
End
UnknownProp = {300 ,756 ,10 ,4 ,22 } Begin
0x4300680061007200740020005400690074006c006500
End
Ни один из других элементов управления не обладает этими UnknownProp свойствами.
Когда я создаю отчет на ПК 2, используя те же шаги, все эти элементы управления не отображаются.
Все эти элементы управления не отображаются в самом отчете. Эта проблема в основном проявляется при экспорте с компьютера с Office 2016 (365) версии 1803 и при импорте в более старую версию Office 2016
Access не использует надстройки, COM или другие. Это происходит с пустыми базами данных, поэтому используются только ссылки по умолчанию.
Кто-нибудь имеет представление о том, что это за объект IvyChart, почему он присутствует во всех вновь создаваемых отчетах, основанных на существующих объектах, и почему все эти другие, казалось бы, случайные невидимые элементы управления идут с ним?
Можно ли остановить Access, добавив эти невидимые элементы управления в новые отчеты?
Поиск в IvyChart или консультирование с другими ресурсами не принесло никакой информации.
Я могу просто открыть базу данных на ПК 2 и использовать SaveAsText
оттуда. Однако, если я это сделаю, странных элементов управления не будет, но текстовый файл будет заполнен такими строками:
Begin
End
Это делает импорт текстового файла недопустимым на любом компьютере.
Мой обходной путь на данный момент - при создании нового отчета на основе объекта выбрать все элементы управления, скопировать все элементы управления (используя Ctrl + A) в пустой отчет, а затем сохранить отчет. Тот факт, что это работает, и эти скрытые элементы управления, вызывающие ошибки, не копируются, также кажется мне немного странным.