我使用以下代码尝试将XML文件导入Access:
my_file = "c:\temp\projects.xml"
Application.ImportXML (my_file)
在第二行的某个时刻,我收到错误31550,“并非所有数据都已成功导入。错误描述与错误记录的相关行号可以在Microsoft Access表'ImportErrors'中找到。”
我必须结束或调试,并且独立于我选择的内容,ImportErrors表不会出现在Access中。是否需要一些额外的代码来创建表? (我在那里有On Error Resume Next
,这没有帮助。)
此外,如果这确实有效,那么XML数据将在何处加载? Access是否创建了一个新表?
XML数据将在何处加载? Access是否创建了一个新表?
这取决于第二个(可选)ImportOptions参数的值。它可以是其中之一
acAppendData
acStructureAndData
(默认)
acStructureOnly
所以对于像这样的XML文件
<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
<foo>
<FirstName>Gord</FirstName>
<LastName>Thompson</LastName>
</foo>
<foo>
<FirstName>Anne</FirstName>
<LastName>Elk</LastName>
</foo>
</dataroot>
VBA声明
Application.ImportXML "C:\Users\Gord\Desktop\foo.xml"
将创建并填充名为[foo]的新表(如果已存在名为[foo]的表,则为[foo1]),并且命令
Application.ImportXML "C:\Users\Gord\Desktop\foo.xml", acAppendData
将尝试将XML文件中的数据附加到名为[foo]的现有表中。