Array
(
)

Campo subtotal não funciona! (Delphi7 BDE Paradox 7)

Pdutrappd
   - 24 jan 2006

Ae galera, preciso de ajuda, estou fazendo um form para fazer orçamentos, está tudo certo, tenho vários campos onde se coloca os dados dos produtos, incluindo um campo total de cada um deles (preço*quantidade), o único problema é que o campo subtotal (statictext) não está demonstrando nada, quando deveria mostrar a soma de todos os totais dos produtos. Aqui vai a codificação do subtotal:

procedure TFormCadPedidos.RecalculaPedido;
var
TmpTable: TTable;
Total: Currency; // armazena valores do tipo moeda
begin
// cria um objeto Table via codificação
TmpTable := TTable.Create(Application);
try
// define DatabaseName e TableName via codificação
TmpTable.DatabaseName := TableItens.DatabaseName;
TmpTable.TableName := TableItens.TableName;
TmpTable.Open;
TmpTable.FindKey([TablePedidosNumeroPedido.AsInteger]);
Total := 0; // inicializa a variavel totalizadora
while (not TmpTable.Eof) and
(TmpTable.FieldByName(´NumeroPedido´).AsInteger =
TablePedidosNumeroPedido.AsInteger) do
begin
// Acumula o Total da linha
Total := Total + (TmpTable.FieldByName(´Preco´).AsFloat *
TmpTable.FieldByName(´Quantidade´).AsFloat);
TmpTable.Next; // próximo registro
end;
finally
TmpTable.Close; // fecha a tabela
TmpTable.Free; // libera objeto da memória
end;
StaticTextTotal.Caption := FormatCurr(´#,,0.00´, Total);
end;

procedure TFormcadpedidos.TableitensCalcFields(DataSet: TDataSet);
begin
if (TableItensQuantidade.AsFloat > 0) and
(TableItensPreco.AsCurrency > 0) then
TableItensTotal.AsCurrency := TableItensPreco.AsCurrency *
TableItensQuantidade.AsFloat;
RecalculaPedido; // recalcula e exibe novamente

end;

Não consigo entender onde errei!


Thomaz_prg
   - 24 jan 2006

Troque seu componente (statictext) por um Label.