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 exemplo abaixo para efeito de ilustração. Note que NÃO há um campo com dados comuns entre as linhas que iniciam com |C100| e aquelas que iniciam com |C170| de forma que não existe relacionamento explícito entre uma linha C100 e linha C170. Veja trecho abaixo para ilustrar.
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 a nível do arquivo texto 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)?
Pergunta
Colombus
Ótimo dia para todos.
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 exemplo abaixo para efeito de ilustração. Note que NÃO há um campo com dados comuns entre as linhas que iniciam com |C100| e aquelas que iniciam com |C170| de forma que não existe relacionamento explícito entre uma linha C100 e linha C170. Veja trecho abaixo para ilustrar.
|C100|0|1|1369F|01|00|1|2935||01022013|01022013|1170,4|1|0|0|1170,4|9|0|0|0|1170,4|198,96|0|0|0|0|0|0|0|
|C170|1|000072|LEITE FERM YAKULT 80G|1020|UN|714|0|0|000|1102||714|17|121,37|0|0|0|...
|C170|2|033075|QUEIJO POLENGUINHO TRAD 20G|10|CX24|150|0|0|000|1102||150|17|25,5|0|0|0|0||...
|C190|000|1102|17|1170,4|1170,4|198,96|0|0|0|0||
|C100|0|1|6990F|55|00|1|35384|20241210557528000274661010000464952334671545|23012013|01022013|63,12|2|...
|C170|1|033044|BEB VODKA ICE SMIR LT 269 CRANB LIMAO|24|UN|63,12|0|0|060|1910||0|0|0|0|0|0|0||...
|C190|060|1910|0|63,12|0|0|0|0|0|0||
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 a nível do arquivo texto 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.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.