Ajuda para acertar um select !

Delphi

28/10/2008

Bom tenho que fazer um select para um filtro de um relatório em que será impresso todas as compras dos fornecedores ou se o usuário preferir somente de um fornecedor, se puderem dar sugestões ou outra forma correta de se fazer já ajudaria

select T4.razaosocial,
                   T1.NOTAFISCAL, 
                   T1.DATA_EMISSAO,
                   T2.IDPRODUTO,
                   T3.DESCRICAO, 
                   T2.QUANTIDADE,
                   T2.VLRUNITARIO, 
                   T2.PERC_DESC,
                   sum(T2.quantidade * T2.vlrunitario) as Total
FROM tb_compra T1, tb_itemcompra T2, tb_produto T3, tb_fornecedor T4
                   where T1.idcompra = T2.idcompra
                   and T2.idproduto = T3.IDPRODUTO
                   and T1.idfornecedor = T4.idfornecedor
                   and t1.idfornecedor = :pCodigo 
                   and t1.data_emissao between :pDataIni and :pDataFin
GROUP BY T4.razaosocial, T1.NOTAFISCAL,
                   T1.DATA_EMISSAO,
                   T2.IDPRODUTO,
                   T3.DESCRICAO,
                   T2.QUANTIDADE,
                   T2.VLRUNITARIO, 
                   T2.PERC_DESC



Afterdev

Afterdev

Curtidas 0

Respostas

Afterdev

Afterdev

28/10/2008

O codigo do filtro está desta maneira

procedure TFiltroRelCompra.BitBtn1Click(Sender: TObject);
begin
  if checkbox1.Checked = true then
  begin
    DM.ibdCompForn.Active:= False;
    DM.ibdCompForn.ParamByName(´pDataIni´).AsDate:= strtodate(DataIni.Text);
    DM.ibdCompForn.ParamByName(´pDataFin´).AsDate:= strtodate(DataFin.Text);
    DM.ibdCompForn.Open;
    DM.rvCompras.SetParam(´pDataIni´,DataIni.Text);
    DM.rvCompras.SetParam(´pDataFin´,DataFin.Text);
    DM.rvCompras.ExecuteReport(´Report1´);

  end 
  else
  begin
    DM.ibdCompForn.Active:= False;
    DM.ibdCompForn.ParamByName(´pDataIni´).AsDate:= strtodate(DataIni.Text);
    DM.ibdCompForn.ParamByName(´pDataFin´).AsDate:= strtodate(DataFin.Text);
    DM.ibdCompForn.ParamByName(´pCodigo´).AsInteger:= strtoint(Edit1.Text);
    DM.ibdCompForn.Open;
    DM.rvCompras.SetParam(´pDataIni´,DataIni.Text);
    DM.rvCompras.SetParam(´pDataFin´,DataFin.Text);
    DM.rvCompras.SetParam(´pCodigo´,Edit1.Text);
    DM.rvCompras.ExecuteReport(´Report1´);

  end;
end;



GOSTEI 0
Afterdev

Afterdev

28/10/2008

Apesar de nenhuma ajuda já acertei o problema ! valeu...............


GOSTEI 0
POSTAR