MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    indicar o banco para importar

    Compartilhe

    marceloeidt
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 04/07/2012

    indicar o banco para importar

    Mensagem  marceloeidt em Ter 28 Jul 2015, 23:49

    Boa noite,

    Consegui esse codigo aqui no forum e esta funcionando, preciso apontar o banco que irei importar o xml.

    A situação é a seguinte: Preciso importar o xml da nfe, primeiro vou importar Numero da nfe, emitente, destinatario, CNPJ, CFOP e em outra tabela os produtos

    Quero adaptar esse código para fazer as duas importações ao mesmo tempo.

    segue o codigo:
    Dim Pasta As Folder, Ficheiro As file, objFileSys
    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    'Dim rst As Recordset
    'Dim Dbs As Database
    Dim myErr
    xmlDoc.async = False

    Dim xmlResp As IXMLDOMNode

    Set xmlDoc = New DOMDocument


    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set Pasta = objFileSys.GetFolder("C:\ArquivosXMLJIVendas\")



    For Each Ficheiro In Pasta.Files
    'xmlDoc.Load Ficheiro.Name
    xmlDoc.Load Ficheiro.Path
    If (xmlDoc.parseError.errorCode <> 0) Then
    Set myErr = xmlDoc.parseError
    MsgBox ("Ocorreu um erro " & myErr.reason)
    Else

    'Verificar a Versão da NFe
    For Each xmlResp In xmlDoc.getElementsByTagName("nfeProc")
    VersaoNF = xmlResp.Attributes(0).Text
    Next xmlResp

    Set objNodeList = xmlDoc.getElementsByTagName("ide")
    NotaFiscal = objNodeList.Item(i).childNodes(6).Text

    Set objNodeList = xmlDoc.getElementsByTagName("emit")
    RazaoSocial = objNodeList.Item(i).childNodes(1).Text

    Set objNodeList = xmlDoc.getElementsByTagName("dest")
    Cliente = objNodeList.Item(i).childNodes(1).Text

    Set objNodeList = xmlDoc.getElementsByTagName("emit")
    CpfCnpj = objNodeList.Item(i).childNodes(0).Text

    Set objNodeList = xmlDoc.getElementsByTagName("prod")
    CFOP = objNodeList.Item(i).childNodes(4).Text



    If VersaoNF = "2.00" Then
    Set objNodeList = xmlDoc.getElementsByTagName("dEmi")
    Emissao = Mid(objNodeList.Item(i).Text, 9, 2) & "/" & Mid(objNodeList.Item(i).Text, 6, 2) & "/" & Left(objNodeList.Item(i).Text, 4)
    Me.Competencia = Format(Emissao, "mmm/yyyy")

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrProduto = Nz(Format(Replace(objNodeList.Item(i).childNodes(4).Text, ".", ","), "Standard"))

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrProduto = Nz(Format(Replace(objNodeList.Item(i).childNodes(4).Text, ".", ","), "Standard"))

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrDesconto = Nz(Format(Replace(objNodeList.Item(i).childNodes(7).Text, ".", ","), "Standard"))


    Else
    Set objNodeList = xmlDoc.getElementsByTagName("dhEmi")
    Emissao = Mid(objNodeList.Item(i).Text, 9, 2) & "/" & Mid(objNodeList.Item(i).Text, 6, 2) & "/" & Left(objNodeList.Item(i).Text, 4)
    Me.Competencia = Format(Emissao, "mmm/yyyy")

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrProduto = Nz(Format(Replace(objNodeList.Item(i).childNodes(5).Text, ".", ","), "Standard"))

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrDesconto = Nz(Format(Replace(objNodeList.Item(i).childNodes(Cool.Text, ".", ","), "Standard"))

    Set objNodeList = xmlDoc.getElementsByTagName("ICMSTot")
    VlrProduto = Nz(Format(Replace(objNodeList.Item(i).childNodes(5).Text, ".", ","), "Standard"))
    End If




    End If
    Next
    Me.Requery

    End Sub

      Data/hora atual: Sab 10 Dez 2016, 13:43