MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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, 22: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: Qua 26 Jul 2017, 17:25