Bom, estou respondendo pensando em termos de programação, não de Delphi, por isso se não estiver correto, descupe-me. Tente isso: 1)Crie dois objetos 'TSQLQUERY': um para tabela mestre e outra para detalhe. 2) pesquise a informação que vc deseja da tabela mestre. 3) para cada item da tabela mestre faça uma pesquisa na tabela itens.
-----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de MarcioCC Enviada em: terça-feira, 4 de setembro de 2007 09:32 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Gerar Arquivo .txt Pessoal é o seguinte to tentando gerar um arquivo texto entre uma tabela Pai e Filha (Master/Detail) da seguinte maneira: AssignFile(F,'C:\GerConv\DrogariaNovaCampina.txt'); Rewrite(F); TabGlobal.DTB_LOTE.First; While not TabGlobal.DTB_LOTE.Eof do begin StrLinhaLote := (TabGlobal.DTB_LOTE.CONSTANTE.Conteudo)+(TabGlobal.DTB_LOTE.CONSTANTE_LO TE.Conteudo)+FormatFloat('00000',campointeiro)+IntToStr(campointeiro2)+F ormatfloat('000',campointeiro3)+FormatFloat('000',campointeiro4)+IntToSt r(campointeiro5)+FormatFloat('00',campointeiro6)+FormatFloat('00',campoi nteiro7)+FormatFloat('00000000',campointeiro8)+IntToStr(campointeiro9)+I ntToStr(campointeiro10)+(TabGlobal.DTB_LOTE.TOTAL_REG_INFO.Conteudo)+(Ta bGlobal.DTB_LOTE.SOMA_MATR_INFOR.Conteudo)+(TabGlobal.DTB_LOTE.SOMA_EV_I NFOR.Conteudo)+(TabGlobal.DTB_LOTE.SOMA_UN_INFOR.Conteudo)+(TabGlobal.DT B_LOTE.SOMA_VAL_INF.Conteudo)+(TabGlobal.DTB_LOTE.SOMA_TOT_INFOR.Conteud o)+(TabGlobal.DTB_LOTE.SOMA_VAL_INF.Conteudo)+(TabGlobal.DTB_LOTE.SOMA_T OT_INFOR.Conteudo)+(TabGlobal.DTB_LOTE.FILLER.Conteudo)+(TabGlobal.DTB_L OTE.CONSTANTE_1.Conteudo); Writeln(F, strLinhaLote); TabGlobal.DTB_MOV_ITENS.First;//adicionei agora // TabGlobal.DTB_LOTE.next; //tirei agora /// TabGlobal.DTB_MOV_ITENS.next; // TabGlobal.DTB_MOV_ITENS.First; While not TabGlobal.DTB_MOV_ITENS.Eof do begin strLinhaMov_Item := (TabGlobal.DTB_MOV_ITENS.CONSTANTE.Conteudo) + (TabGlobal.DTB_MOV_ITENS.CONST_LOTE.Conteudo) + FormatFloat('00000',campointeiro11)+ IntToStr(campointeiro12) + Formatfloat('000',campointeiro13) + FormatFloat('000',campointeiro14) + (TabGlobal.DTB_MOV_ITENS.COD_CAT_SAL.Conteudo) + FormatFloat('00',campointeiro16) + FormatFloat('00',campointeiro17) + FormatFloat('00000000',campointeiro18) + IntToStr(campointeiro19) + IntToStr(campointeiro20) + FormatFloat('00000000',campointeiro21) + IntToStr(campointeiro22) + FormatFloat('000000',campointeiro23) + FormatFloat('00000000000',campointeiro24) + (TabGlobal.DTB_MOV_ITENS.FILLER.Conteudo) + (TabGlobal.DTB_MOV_ITENS.CONSTANTE_FIM.Conteudo); Writeln(F, strLinhaMov_Item); TabGlobal.DTB_MOV_ITENS.next; ///TabGlobal.DTB_LOTE.next; end; TabGlobal.DTB_LOTE.next; end; CloseFile(F); end; Ta gerando tudo certinho mais ta acontecendo o seguinte nos dados inclusos no .txt: "mvtolote000441002001007200700000457190000000000000000000000000000000000 0000000000000000000000000" "mvtolote0001620020010000000000457190000098946500000000000000000" "mvtolote000441002001007200700000457190000000000000000000000000000000000 0000000000000000000000000" "mvtolote0001620020010000000000457190000098946500000000000000000" Tenho 2 registros na tabela pai e 2 registros na tabela filha sendo eles: TABELA PAI = 00044 e 00045 TABELA FILHA = 00016 e 00017 Notem que ta duplicando o registro pai e filha da tabela,e os registros 00045 e 00017 não estão vindo , o que estou fazendo de errado por favor me ajudem ... JESUS TE AMA !!! ------------------------------------------------------------------------ -------- MarcioCC® ************** Itabyte Tecnologia® - www.itabyte.com Analista/Programador - For Delphi MSN : [EMAIL PROTECTED] SKYPE : itabytetec Fone : 15-3524-1946 [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos