Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Tem um script que le arquivos em sum diretórios, sem precisar carregar arquivos 1 por 1 em Arquivos de Tabelas. Porém apareceu o seguinte problema. Quando eu executo ele carrega todas as tabelas, porém só a ultima carregada é que os dados são mostrados, se eu usar Qualify ele cria muitas tabelas. Gostaria de a cada passo da execução ele ir gerando uma tabela só contendo os dados das tabelas anteriores.
Olá Issosorio,
Tenta mudar essa parte do script:
FOR Each Dir in DirList ('*')
FOR each Dados in dirlist (Dir&'\*')
CALL DoDir(Dir);
NEXT Dados;
NEXT Dir;
Executei por aqui e funcionou:
Diretorios << AUTOGENERATE(1) 1 registros lidos
Receita_Candidato << ReceitasCandidatos 10.291 registros lidos
Diretorios << AUTOGENERATE(1) 2 registros lidos
Receita_Candidato << ReceitasCandidatos 42.463 registros lidos
--- Script Finalizado ---
Olá Issosorio,
Tem certeza que os outros arquivos tem dados?
Confira se realmente é somente o último arquivo que está sendo carregado, use o opção Debug no script e veja passo a passo como está executando e o quanto de dados está carregando cada arquivo.
Abraço.
Sim todas as tabelas tem dados, eu peguei um arquivo de prestação das contas. Ai eu tenho candidato e dentro de cadidato eu tenho 27 estados e todos tem um arquivo chamado ReceitaCandidadto.txt que estão preenchidos. Porém na hora que eu dou a carga (Segue script anexado) Ele vai sobrepondo as informações anteriores. Eu fiz um filtro para constatar o que eu suspeitava, e relamente ele tava fzd isso.
abraçooo
Eu dei uma olhada e não vi nada que possa causar o problema, com um DROP por exemplo, mas não tenho a estrutura de pastas e arquivos para fazer testes, você sabe usar a depuração?
Abra o script e execute a depuração ao invés de fazer a recarga, com isso, você vai passo a passo e encontrará o problema com facilidade.
Ou monte um exemplo e anexe os arquivos com extrutura compactado zip que damos uma olhada.
Grande abraço.
Aderlan segue o exemplo, o que ele está fazendo é o seguinte, ele vai lendo até chegar a pasta AC, ai le o arquivo tudo ok, porem qnd le o arquivo da 2 pasta ele apaga o conteudo anterior segue um RAR com 2 pastas para teste
Olá Issosorio,
Tenta mudar essa parte do script:
FOR Each Dir in DirList ('*')
FOR each Dados in dirlist (Dir&'\*')
CALL DoDir(Dir);
NEXT Dados;
NEXT Dir;
Executei por aqui e funcionou:
Diretorios << AUTOGENERATE(1) 1 registros lidos
Receita_Candidato << ReceitasCandidatos 10.291 registros lidos
Diretorios << AUTOGENERATE(1) 2 registros lidos
Receita_Candidato << ReceitasCandidatos 42.463 registros lidos
--- Script Finalizado ---