如何将在D:\T 文件夹下的多个XML:比如1.XML,2.XML...批量导入到ACCESS 中,(这些XML的结构是一样的)??先谢了

解决方案 »

  1.   

    1.将Access宏安全级别设置为低
    xml格式如下
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
         <userTable>
             <userName>danielinbiti</userName>
     <userNum>0</userNum>
         </userTable>
         <userTable>
             <userName>danielinbiti1</userName>
     <userNum>1</userNum>
         </userTable>
         <userTable>
       <userName>danielinbiti2</userName>
       <userNum>2</userNum>
         </userTable>
    </root>
    表结构如
    表名叫userTable
    表中有个字段名叫userName和userNum
    代码如下:
    Option Explicit
    Private Sub Command1_Click()
      Dim cnAccess As Variant
      Set cnAccess = CreateObject("Access.Application")
      cnAccess.OpenCurrentDatabase "C:\book.mdb"
      cnAccess.ImportXML "c:\test.xml", 2
    End Sub具体效果可以自己执行一下自己看,往表里的数据都怎么对应的可以实际操作后看一下就明白了
      

  2.   

    我只会用笨办法.我不懂XML的语法.要我做就是,一行一行的读取XML文档.建议数据库表.就二个字段.一个是行号.一个就是一行的数据.一行一行的加.我现在做的一个源代码管理程序就是这样的.每一篇源代码建立一个表.写就一行一行写,读就一行一行读.
      

  3.   

    上面的大哥好像没有看清问题,起码要先找到D:\T 文件夹,然后选中1.xml,2.xml......n.xml 用一个循环批量导入
      

  4.   

    Dim MyFile As String 
    Dim strPath As String 
    Dim strFile As String 
    Dim cnAccess As Variant''strPath为文件夹的路径,strFile为文件夹里的文件 
    strPath = "C:\Temp" 
    strFile = strPath & "\*.xml" 
     
      Set cnAccess = CreateObject("Access.Application") 
      cnAccess.OpenCurrentDatabase "C:\book.mdb" 
    MyFile = Dir(strFile, vbNormal)''获得符合条件的文件名 
    Do While MyFile<> "" ''循环查找 
      cnAccess.ImportXML MyFile,2 MyFile= Dir''如果和上次一样,DIR可以这么省写 
    Loop 
    End If