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

    Contador de xml

    avatar
    vaggnersf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 47
    Registrado : 30/07/2012

    Contador de xml Empty Contador de xml

    Mensagem  vaggnersf 7/10/2014, 18:07

    Pessoal, estou tentando complementar meu código, mais não estou conseguindo.

    Esse arquivo importa vários  xml para um único arquivo do Access e já crias as tabelas conforme o xml.

    Mais preciso que quando ele leve o primeiro xml coloque em uma coluna e também em todas as tabelas o número 1 daquele primeiro xml. Quando importa o segundo xml coloque o número 2 também em uma coluna e em todas as tabelas daquele segundo xml e assim para as demais xml.

    Como o xml separa uma nota fiscal em várias tabelas vou conseguir identificar por esse número de qual nota fiscal aquelas informações é, não importa em qual tabela estará.

    O que pensei neste caso seria um contador de xml no código, mais preciso da ajuda de vocês.
    Anexos
    Contador de xml AttachmentXML Lote.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (125 Kb) Baixado 10 vez(es)
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Contador de xml Empty Re: Contador de xml

    Mensagem  Dilson 14/10/2014, 05:05

    Como não temos como interagir na ação acAppendData da importação XML. Uma maneira que pensei e testei foi a cada chamada de importação na função VerificaXML fazer um laço nas tabelas e percorrer os registros e, aqueles que estiverem em branco preencher pelo contador, assim:


    Function VerificaXML() As String
    Dim FSO, Diretorio As String, Pasta, Arquivo
    Dim dtData As Date, DtDataMax As Date
    Dim ArquivoMax As String
    Diretorio = CurrentProject.Path & "\XML_NFe noroeste entrada\"

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Pasta = FSO.GetFolder(Diretorio)

    Dim rs1 As Recordset
    Dim rs2 As Recordset
    Dim rs3 As Recordset
    Dim qNota As Integer
    Dim qContador As Integer
    qContador = 0

                       
       For Each Arquivo In Pasta.Files
           If Arquivo Like "*.xml" Then
               NomeXML = Diretorio & Arquivo.Name
               Call ImportaXML
               
               qContador = qContador + 1
               
               Set rs1 = CurrentDb.OpenRecordset("emit")
               Set rs2 = CurrentDb.OpenRecordset("Reference")
               Set rs3 = CurrentDb.OpenRecordset("COFINSAliq")
                       
               While (Not rs1.EOF)
               rs1.Edit
               If IsNull(rs1("Nota")) Then
               rs1("Nota") = qContador
               End If
               rs1.Update
               rs1.MoveNext
               Wend

               While (Not rs2.EOF)
               rs2.Edit
               If IsNull(rs2("Nota")) Then
               rs2("Nota") = qContador
               End If
               rs2.Update
               rs2.MoveNext
               Wend

               While (Not rs3.EOF)
               rs3.Edit
               If IsNull(rs3("Nota")) Then
               rs3("Nota") = qContador
               End If
               rs3.Update
               rs3.MoveNext
               Wend

           End If        
       Next
    rs1.Close
    rs2.Close
    rs3.Close

    End Function


    Crie um campo chamado "Nota" do tipo: Número (nas tabelas)
    Só fiz em três tabelas: "COFINSAliq", "emit" e "Reference". Se servir, copie e cole e adapte para as demais.
    avatar
    vaggnersf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 47
    Registrado : 30/07/2012

    Contador de xml Empty Re: Contador de xml

    Mensagem  vaggnersf 14/10/2014, 20:49

    Dilson, o codigo nao esta preenchendo com numero sequencial como deveria, esta apenas colocando zeros!
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Contador de xml Empty Re: Contador de xml

    Mensagem  Dilson 14/10/2014, 21:14

    Aqui funciona bem. Ele preenche os vazios com números sequenciais a cada importação.

    Verifique novamente. Copie e cole a função e substitua.
    avatar
    vaggnersf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 47
    Registrado : 30/07/2012

    Contador de xml Empty Re: Contador de xml

    Mensagem  vaggnersf 14/10/2014, 21:27

    Fiz todo o processo e nao deu certo, o que ele tem e um campo num onde o xml faz automatico uma numeraçao sequencial da tabela, agora o campo nota preenche com zeros
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Contador de xml Empty Re: Contador de xml

    Mensagem  Dilson 14/10/2014, 21:30

    Veja:
    https://dl.dropboxusercontent.com/u/8080696/ajudas/Integrado/XML%20Lote.rar
    avatar
    vaggnersf
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 47
    Registrado : 30/07/2012

    Contador de xml Empty Re: Contador de xml

    Mensagem  vaggnersf 15/10/2014, 12:57

    Dílson, o campo que ele está colocando sequencial e o (num), esse o arquivo xml importa automático é não server para nada. Agora se criar o campo que você citou e rodar o código ele não preenche.

    Pode verificar que o arquivo que você postou não está com o campo (nota) criador.

    Mesmo criando ele não está preenchendo. Verifiquei que seu código está contando mais não esta preenchendo.
    Não sei o que fazer!
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Contador de xml Empty Re: Contador de xml

    Mensagem  Dilson 15/10/2014, 13:20

    Olá bom dia!

    Acabei de fazer o download do mesmo exemplo que postei ontem e funciona perfeitamente.

    Deve estar se confundindo em alguma coisa. veja que eu só fiz para três tabelas, que são: "COFINSAliq", "emit" e "Reference". Verifique nessas tabelas e veja que o campo Nota do tipo Número estará lá. Rode o arquivo e veja o resultado nessas tabelas que citei.

    Aguardamos.

    Conteúdo patrocinado


    Contador de xml Empty Re: Contador de xml

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 01:24