.ImportXML命令在MS Access中出错

问题描述 投票:2回答:1

我使用以下代码尝试将XML文件导入Access:

my_file = "c:\temp\projects.xml"
Application.ImportXML (my_file)

在第二行的某个时刻,我收到错误31550,“并非所有数据都已成功导入。错误描述与错误记录的相关行号可以在Microsoft Access表'ImportErrors'中找到。”

我必须结束或调试,并且独立于我选择的内容,ImportErrors表不会出现在Access中。是否需要一些额外的代码来创建表? (我在那里有On Error Resume Next,这没有帮助。)

此外,如果这确实有效,那么XML数据将在何处加载? Access是否创建了一个新表?

ms-access xml-parsing access-vba
1个回答
3
投票

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]的现有表中。

© www.soinside.com 2019 - 2024. All rights reserved.