我正在使用类似于this answer中描述的版本控制和更新解决方案,该解决方案使用SaveAsText
和LoadFromText
管理增量更新。
但是,最近在加载使用LoadFromText
在不同计算机上创建的使用SaveAsText
保存的报告时出现了问题。我将此问题归结为以下问题:
MCVE
在PC 1上:
SaveAsText acReport, "Table1", "C:\SomePath\Report.txt"
在PC 2上:
LoadFromText acReport, "Table1", "C:\SomePath\Report.txt"
更多观察结果:
文本文件 Report.txt 大约为100 KB(以前基于小表导出的报告大约为40 KB)。
在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
其他控件都没有这些 UnknownProp 属性。
当我在PC 2上使用相同的步骤创建报告时,所有这些控件都不会显示。
所有这些控件在报表本身上都不可见。从具有Office 2016(365)1803版的计算机中导出并在较旧版本的Office 2016中导入时,该问题主要表现出来。
Access没有使用任何加载项,COM或其他方式。对于空白数据库,会发生这种情况,因此只能使用默认引用。
有人知道这个IvyChart对象是什么,为什么它存在于所有基于现有对象的新创建的报表上,以及为什么所有其他这些看似随机的不可见控件都附带了呢?
我可以停止Access将这些不可见的控件添加到新报告中吗?
搜索IvyChart或咨询其他资源根本没有带来任何见识。
我只能在PC 2上打开数据库,然后从那里使用SaveAsText
。但是,如果我这样做,就不会出现怪异的控件,但是文本文件中充满了这样的行:
Begin
End
这使得在任何计算机上导入文本文件都无效。
我现在的解决方法是在基于对象创建新报表时,选择所有控件,将所有控件(使用ctrl + A)复制到空白报表中,然后保存该报表。可以复制的事实以及这些隐藏的控件会导致错误的事实没有被复制,这让我感到有些不高兴。
答案 0 :(得分:3)
IvyChart是O365中添加的新Chart控件类型的内部控件名称。 Office 2016不支持此控件类型,因此在尝试从表单中加载LoadText或包含它们的报表时会出错。
请注意,2016 Access仍然可以打开这些表单/报告,但不会显示图表。
如果要使用新图表,则需要使用Office 365或Office 2019。