Объект IvyChart добавлен во вновь создаваемые отчеты и мешает управлению версиями - PullRequest
0 голосов
/ 23 января 2019

Я использую решение для управления версиями и обновлениями, аналогичное описанному в в этом ответе , которое использует SaveAsText и LoadFromText для управления добавочными обновлениями.

Однако недавно возникла проблема при загрузке отчетов, сохраненных с использованием LoadFromText, которые были созданы с использованием SaveAsText на разных компьютерах. Я отследил эту проблему до следующей проблемы:

MCVE

На ПК 1:

  1. Создать новую базу данных
  2. Создать таблицу в этой базе данных, используя ленту Создать , затем Таблица Кнопка
  3. Закройте и сохраните эту таблицу
  4. Создайте отчет, выбрав таблицу и нажав Создать , а затем Отчет
  5. Закрыть и сохранить отчет
  6. В ближайшем окне выполнить SaveAsText acReport, "Table1", "C:\SomePath\Report.txt"

на ПК 2:

  1. Создать новую базу данных
  2. В ближайшем окне выполнить LoadFromText acReport, "Table1", "C:\SomePath\Report.txt"
  3. Я получаю общую ошибку, файл с именем 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) в пустой отчет, а затем сохранить отчет. Тот факт, что это работает, и эти скрытые элементы управления, вызывающие ошибки, не копируются, также кажется мне немного странным.

1 Ответ

0 голосов
/ 23 января 2019

IvyChart - это имя внутреннего элемента управления для нового типа элемента управления Chart, добавленного в O365. Office 2016 не поддерживает этот тип элемента управления, поэтому вы получаете сообщение об ошибке при попытке LoadFromText формы или отчета, который содержит их.

Обратите внимание, что приложение 2016 Access по-прежнему может открывать эти формы / отчеты, но не будет отображать диаграмму.

Если вы хотите использовать новые диаграммы, вам нужно использовать Office 365 или Office 2019.

...