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


3 participantes

    Lendo EFD em um banco MS Access

    avatar
    Crônico
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 29/03/2013

    Lendo EFD em um banco MS Access Empty Lendo EFD em um banco MS Access

    Mensagem  Crônico 29/6/2016, 13:28

    Em uma pasta disponho de vários arquivos txt. Cada arquivo txt correspondente à Escrituração Fiscal Digital - EFD de um mês de uma dada empresa. Cada linha que inicia com |C100| corresponde a dados gerais de uma nota fiscal enquanto as linhas imediatamente abaixo daquela e que iniciam com |C170| correspondem a itens de mercadoria daquela nota fiscal. Veja arquivo anexo para efeito de ilustração. Note que não há um campo com dados comuns entre as linhas que iniciam com |C100| e aquelas com |C170| de forma que não existe relacionamento explícito entre uma linha C100 e linha C170.

    Objetivo
    Criar um banco Access contendo duas tabelas: tabela 'tabC100' povoada com registros tipo C100 e tabela 'tabC170' povoada com registros tipo C170 envolvendo todos os arquivos txt mensais. As tabelas devem ter um campo que permita relacionar uma com a outra. Esse campo pode ser um inteiro tipo Long.

    Perguntas
    1. Do ponto de vista de performance, devo apensar todos os arquivos txt mensais em um único arquivo txt para só então passar a importar seus dados para as tabelas do bando de dados (BD) OU devo ir importanto via loop cada um dos arquivos txt mensais diretamente para as tabelas do BD?
    2. Para criar um campo de relacionamento entre as tabelas, devo fazer isso escrevendo um long X na linha C100 e nas linhas C170 imediatamente abaixo OU há outra forma com melhor performance?
    3. Há códigos relacionados a esses questionamentos nesse forum? Se sim, como acessá-los (tópicos ou links)?

    Agradeço antecipado qualquer ajuda.
    Anexos
    Lendo EFD em um banco MS Access AttachmentTxt exemplo ilustrativo.txt
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Kb) Baixado 16 vez(es)


    Última edição por Crônico em 1/7/2016, 09:56, editado 1 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    Lendo EFD em um banco MS Access Empty Re: Lendo EFD em um banco MS Access

    Mensagem  Alvaro Teixeira 29/6/2016, 17:32

    Olá Nathan, faltou o anexo.
    Assim será mais fácil para compreender.
    Abraço
    avatar
    Crônico
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 29/03/2013

    Lendo EFD em um banco MS Access Empty Re: Lendo EFD em um banco MS Access

    Mensagem  Crônico 1/7/2016, 10:04

    Caro ahteixeira

    Obrigado pela orientação.
    Tentei originalmente afixar pequeno trecho do arquivo na própria mensagem (já que é um arquivo extensão txt) porém o forum rejeitou a mensagem.
    Pensei que pudesse ser o separador de colunas "|" (pipe) contido no trecho do arquivo que estaria atrapalhando.
    Então tentei anexar o próprio arquivo clicando no botão 'Escolher Arquivo'. O nome do meu arquivo apareceu no local ao lado do botão Escolher arquivo.
    Apesar de estranhar não ter visto o ícone do arquivo anexado, pensei que só o nome do arquivo já indicava seu upload para a mensagem. Agora sei que teria de clicar em outro botão de nome 'Enviar'. Dois botões para fazer upload não é usual e além disso o nome do botão 'Enviar' sugere que é para enviar a mensagem.
    Agora com sua resposta acusando a falta do arquivo, editei a mensagem para anexar o arquivo e acho que consegui.
    Desculpe a mancada.

    Crônico
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    Lendo EFD em um banco MS Access Empty Re: Lendo EFD em um banco MS Access

    Mensagem  Avelino Sampaio 1/7/2016, 10:27

    Olá!

    Utilize a instrução OPEN para abrir o arquivo txt e percorrer linha a linha. Veja na minha dica 51:

    http://www.usandoaccess.com.br/Dicas/dicas-praticas-de-access-parte-6.asp?id=1&idlista=215

    utilize a função Split(linha, "|") para extrair os campos de cada linha. Um exemplo do uso da split(), neste meu artigo:

    http://www.usandoaccess.com.br/dicas/gerar-milhoes-registros-teste-access.asp?id=1

    Utilize o recordset para popular as tabelas com os dados dos campos

    Sucesso!



    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

    Conteúdo patrocinado


    Lendo EFD em um banco MS Access Empty Re: Lendo EFD em um banco MS Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 15:12