代码之家  ›  专栏  ›  技术社区  ›  Erik A

ivychart对象添加到新创建的报告中并与版本控制交互

  •  1
  • Erik A  · 技术社区  · 6 年前

    我使用的版本控制和更新解决方案类似于 this answer 使用的 SaveAsText LoadFromText 管理增量更新。

    但是,最近在加载使用 从文本加载 它是用 SaveExtEXT 在不同的计算机上。我把这个问题归结为以下几个问题:

    麦克维尔

    在PC 1上:

    1. 创建新数据库
    2. 使用功能区在该数据库中创建表 创造 然后 按钮
    3. 关闭并保存该表
    4. 通过选择表并按创建报告 创造 然后 报告
    5. 关闭并保存报告
    6. 在即时窗口中,执行 SaveAsText acReport, "Table1", "C:\SomePath\Report.txt"

    在PC 2上:

    1. 创建新数据库
    2. 在即时窗口中,执行 LoadFromText acReport, "Table1", "C:\SomePath\Report.txt"
    3. 我收到一个一般性错误,一个名为 错误表 在数据库位置创建,并在其中 应为:对象名。观察:Ivychart .

    进一步观察:

    文本文件 TXT报告 大约是100KB(以前基于小表的报表导出大约是40KB)。

    在report.txt文件中,您可以找到报告包含:

    • 有边界的对象框架
    • 图表
    • 未撤消的对象框架
    • 自定义控件
    • 网络浏览器
    • 导航控件
    • 具有以下特性的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
      

    其他控件都没有 未知道具 性质。

    当我使用相同的步骤在PC 2上创建报告时,所有这些控件都不会显示出来。

    所有这些控件在报表本身上都不可见。问题主要表现在从具有Office 2016(365)1803版本的计算机中导出,以及在较旧版本的Office 2016中导入时。

    访问未使用任何加载项、COM或其他。这发生在空白数据库中,因此只使用默认引用。

    有没有人知道这个ivychart对象是什么,为什么它出现在所有基于现有对象的新创建的报告上,为什么所有这些看似随机的不可见控件都会出现在它上面?

    我可以停止向新报表添加这些不可见控件吗?

    谷歌Ivychart或咨询其他资源根本没有带来任何见解。

    我可以在PC 2上打开数据库并使用 SaveExtEXT 从那里。但是,如果我这样做,奇怪的控件就不存在了,但是文本文件中充满了这样的行:

    Begin
    End
    

    这使得在任何计算机上导入文本文件都无效。

    我目前的解决方法是,在基于对象创建新报表时,要选择所有控件,请将所有控件(使用ctrl+a)复制到空白报表,然后保存该报表。事实上,这是可行的,这些隐藏的控件导致错误没有被复制,我也觉得有点不确定。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Shane L. Groff    6 年前

    ivychart是在o365中添加的新图表控件类型的内部控件名称。Office 2016不支持此控件类型,因此在尝试从文本加载包含这些控件的窗体或报表时,会出现错误。

    请注意,2016年Access仍然可以打开这些表单/报表,但不会显示图表。

    如果要使用新图表,则需要使用Office 365或Office 2019。

    推荐文章