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

 


Responder a