2017-10-13 93 views
0

複数の.xmlファイルをAccessテーブルにインポートしようとしています。 Accessでインポートを手動で実行するとうまく動作する.xsltファイルを作成しました。しかし、.xmlファイルを変換するためにVBAコード(ここで別のポストから取得したもの)を使用すると、結果のtemp.xmlファイルは完全に空になります。私は何が欠けていますか?VBAを使用してxsltトランスフォームファイルを使用してMS AccessにXMLをインポートする

Public Sub TransformAndImportMultipleXMLs() 
    Dim strFile As String, strPath As String 

    Dim xmlDoc As New MSXML2.DOMDocument60 
    Dim xslDoc As New MSXML2.DOMDocument60 
    Dim newDoc As New MSXML2.DOMDocument60 

    strPath = "y:\" 
    strFile = Dir(strPath & "*.xml") 

    xslDoc.async = False 
    xslDoc.validateOnParse = False 
    xslDoc.resolveExternals = False 

    xslDoc.Load "C:\JSTAdb\LinkIncidentID.xslt" 

    While strFile <> "" 
     ' REINITIALIZE DOM OBJECTS 
     Set xmlDoc = New MSXML2.DOMDocument60 
     Set newDoc = New MSXML2.DOMDocument60 

     ' LOAD XML SOURCE 
     xmlDoc.Load strPath & strFile 

     ' TRANSFORM SOURCE 
     xmlDoc.transformNodeToObject xslDoc, newDoc 
     newDoc.Save "C:\JSTAdb\temp.xml" 

     ' APPEND TO TABLES 
     Application.ImportXML "C:\JSTAdb\temp.xml", acAppendData 
     strFile = Dir() 
    Wend 

    'RELEASE DOM OBJECTS 
    Set xmlDoc = Nothing: Set xslDoc = Nothing: Set newDoc = Nothing 
End Sub 
+1

サンプルXMLとXSLTを投稿してください。また、Access *で手動でインポートを実行する方法は? – Parfait

答えて

0

私はそれを理解しました。 .xmlファイルはInfoPathフォームからのもので、多数の大きな写真添付ファイルが含まれていました。私は結果が変換されるのに十分長く待っていませんでした。私はちょっとした忍耐が必要でした。今はうまくいきます。

関連する問題