PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum ajuda com tabela temporária #266320

21/01/2005

0

Olá!
Tudo bem?

Eu tenho uma SQL em que eu faço um join com duas tabelas e gravo o resultado em uma tabela temporária no ClientDataSet.

Mas agora eu preciso ler essa tabela temporária para poder fazer alguns
filtros.

Eu vi em algum lugar que seria assim

select * from #temp

Que se colocaria na frente do nome da tabela, mas como criar esse
nome da tabela temporária no ClientDataSet.

Abaixo está o código que eu fiz.

Está é a primeira vez que eu uso tabela temporária e aprendi pesquisando
em artigos e foruns e pode ser que eu também esteja fazendo alguma coisa errada ou até mesmo se existe alguma outra forma de se fazer isso uma tabela temporária.

Desde já agradeço a ajuda recebida.


with IBQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(´select A.CODIGO, A.TITULO, A.PARCELA, A.DOCUMENTO, A.SERIE, A.DT_EMIS, A.DT_VCTO, A.VLR_TIT,´);
SQL.Add(´SUM(B.VLR_PAGO) TOT_PAGO,´);
SQL.Add(´MAX(B.DT_MOVIMENTO) DATA_MOVIMENTO´);
SQL.Add(´From CAD_RECEBIMENTO A´);
SQL.Add(´Left Join CAD_RECEBIMENTO_MOV B´);
SQL.Add(´On(A.CODIGO = B.CODIGO and A.TITULO = B.TITULO and A.PARCELA = B.PARCELA)´);
SQL.Add(´GROUP BY A.CODIGO, A.TITULO, A.PARCELA, A.DOCUMENTO, A.SERIE, A.DT_EMIS, A.DT_VCTO, A.VLR_TIT´);
Open;
end;

IBQuery1.First;
while not IBQuery1.Eof do
begin
with ClientDataSet1 do
begin
Open;
Insert;
FieldByName(´CODIGO´).Value := IBQuery1.FieldByName(´CODIGO´).AsInteger;
FieldByName(´TITULO´).Value := IBQuery1.FieldByName(´TITULO´).AsInteger;
FieldByName(´PARCELA´).Value := IBQuery1.FieldByName(´PARCELA´).AsInteger;
FieldByName(´DT_EMIS´).Value := IBQuery1.FieldByName(´DT_EMIS´).AsDateTime;
FieldByName(´DT_VCTO´).Value := IBQuery1.FieldByName(´DT_VCTO´).AsDateTime;
FieldByName(´DT_MOVIMENTO´).Value:= IBQuery1.FieldByName(´DATA_MOVIMENTO´).asDateTime;
FieldByName(´VLR_TIT´).Value := IBQuery1.FieldByName(´VLR_TIT´).AsFloat;
FieldByName(´VLR_PAGO´).Value := IBQuery1.FieldByName(´TOT_PAGO´).asFloat;
Post;
IBQuery1.Next;
end;
end;



Este aqui é o que eu imagino que eu deva fazer, mas não sei o que em fazer
em relação a esta parte.

SQL.Add(´From #temp´);



ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
with IBQuery2 do
begin
Close;
SQL.Clear;
SQL.Add(´select *´);

SQL.Add(´From temp´);

SQL.Add(´Where ...´);
Open;
ClientDataSet1.Next;
end;
end;




Joao_schroeder

Joao_schroeder

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar