MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Extrair dados de arquivos XML em um diretório

    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Extrair dados de arquivos XML em um diretório

    Mensagem  Junior Meireles 9/11/2012, 17:52



    Private Sub cmdImportarDados_Click()

    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    xmlDoc.async = False
    xmlDoc.Load "C:\ArquivosXML\3118304_11124603000111_20121.xml"


    If (xmlDoc.parseError.errorCode <> 0) Then
    Dim myErr
    Set myErr = xmlDoc.parseError
    MsgBox ("Ocorreu um erro " & myErr.reason)
    Else

    Set objNodeList = xmlDoc.getElementsByTagName("Numero")
    NotaFiscal = objNodeList.Item(i).Text
    Set objNodeList = xmlDoc.getElementsByTagName("ValorServicos")
    ReceitaBruta = objNodeList.Item(i).Text
    End If
    End Sub

    O código acima funciona para importação de arquivo por arquivo,
    não estou conseguindo e pelos meus conhecimentos criar um recordeset para um Loop no
    Diretorio C:\ArquivosXML\ onde estão todos os arquivos XML que preciso
    importar os dados para tabela tblDadosImportados.
    Grato a quem puder me ajudar
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Alexandre Neves 9/11/2012, 18:54

    Boa noite, Junior, e bem-vindo ao fórum
    Adaptei o seu código
    Sub MostraFicheiros()
    'criada por Alexandre Neves www.esnips.com\web\alexandreneves
    'em 2012-11-09
    'para Junior Meireles
    'do fórum MaximoAccess
    Dim Pasta As Folder, Ficheiro As file, objFileSys
    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    Dim myErr
    xmlDoc.async = False

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set Pasta = objFileSys.GetFolder("D:\DJ\")
    For Each Ficheiro In Pasta.Files
    xmlDoc.Load Ficheiro.Name
    If (xmlDoc.parseError.ErrorCode <> 0) Then
    Set myErr = xmlDoc.parseError
    MsgBox ("Ocorreu um erro " & myErr.reason)
    Else
    Set objNodeList = xmlDoc.getElementsByTagName("Numero")
    NotaFiscal = objNodeList.Item(i).Text
    Set objNodeList = xmlDoc.getElementsByTagName("ValorServicos")
    ReceitaBruta = objNodeList.Item(i).Text
    End If
    Next
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Junior Meireles 9/11/2012, 20:03

    Alexandre, boa noite e obrigado pela prestesa e atenção a minha primeira participação neste fórum.
    Está me dando um erro nesta linha

    Dim Pasta As Folder, Ficheiro As file, objFileSys

    Erro de Compilação:
    O tipo definido pelo usuario não foi definido
    abaixo é o código adptado do diretorio onde encontram os arquivos xml
    Poderia me ajudar, ficarei muito grato

    Sub MostraFicheiros()
    'criada por Alexandre Neves
    'em 2012-11-09
    'para Junior Meireles
    'do fórum MaximoAccess
    Dim Pasta As Folder, Ficheiro As file, objFileSys
    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    Dim myErr
    xmlDoc.async = False

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set Pasta = objFileSys.GetFolder("C:\ArquivosXML\")
    For Each Ficheiro In Pasta.Files
    xmlDoc.Load Ficheiro.Name
    If (xmlDoc.parseError.errorCode <> 0) Then
    Set myErr = xmlDoc.parseError
    MsgBox ("Ocorreu um erro " & myErr.reason)
    Else
    Set objNodeList = xmlDoc.getElementsByTagName("Numero")
    NotaFiscal = objNodeList.Item(i).Text
    Set objNodeList = xmlDoc.getElementsByTagName("ValorServicos")
    ReceitaBruta = objNodeList.Item(i).Text
    End If
    Next
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Alexandre Neves 9/11/2012, 22:13

    Active a referência Microsoft Scripting Runtime


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Junior Meireles 10/11/2012, 11:03

    Alexandre, mais uma vez venho agradecer sua colaboração, acontece que marquei a referencia Microsoft Scripting Runtime e esta me dando o seguinte erro previsto no código:
    Ocorreu um erro de sistema:-2146697210
    Quando ocorre o erro ele ocorre 32 vezes que são os 32 arquivos que tenho dentro da pasta "C:\ArquivosXML\", pelo que notei ele ira importar arquivo por arquivo. Não tem como importar todos arquivos de uma vez?

    Uso windows xp e Access 2003
    A referencia Microsoft XML, 5.0 também está ativada

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Alexandre Neves 10/11/2012, 19:57

    Júnior,
    Utilize este procedimento para verificar se lista os ficheiros da pasta
    Sub MostraFicheiros()
    'criada por Alexandre Neves
    'em 2012-11-09
    'para Junior Meireles
    'do fórum MaximoAccess
    Dim Pasta As Folder, Ficheiro As file, objFileSys
    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    Dim myErr
    xmlDoc.async = False

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set Pasta = objFileSys.GetFolder("C:\ArquivosXML\")
    For Each Ficheiro In Pasta.Files
    MsgBox Ficheiro.Name
    Next
    End Sub

    Veja, depois, a adaptação que lhe criei acima.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Junior Meireles 10/11/2012, 20:31

    Alexandre, venho agradecer imensamente a você e ao fórum que resolveu meu problema em minha primeira participação.

    Fiz uma alteração nesta linha abaixo em destaque e funcionou perfeitamente com seu código.

    Sub MostraFicheiros()
    'criada por Alexandre Neves
    'em 2012-11-09
    'para Junior Meireles
    'do fórum MaximoAccess
    Dim Pasta As Folder, Ficheiro As file, objFileSys
    Dim xmlDoc As New MSXML2.DOMDocument30
    Dim objNodeList As IXMLDOMNodeList
    Dim myErr
    xmlDoc.async = False

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set Pasta = objFileSys.GetFolder("C:\ArquivosXML\")
    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
    Set objNodeList = xmlDoc.getElementsByTagName("Numero")
    NotaFiscal = objNodeList.Item(i).Text
    Set objNodeList = xmlDoc.getElementsByTagName("ValorServicos")
    ReceitaBruta = objNodeList.Item(i).Text
    End If
    Next
    End Sub

    Mais uma vez, muito obrigado

    Conteúdo patrocinado


    [Resolvido]Extrair dados de arquivos XML em um diretório Empty Re: [Resolvido]Extrair dados de arquivos XML em um diretório

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:59