Copiei essa procedure de um programa que baixei da net.
o programa, ele era Table da Guia BDE, eu coverti em Query do Zeos Lib.
Acontece que a linha "TmpQry.Connection := QryItens.Connection;", a conexao um está sendo feita.
Codigo que copiei:
procedure tformcadpedidos.recalculapedido;
var
tmptable:ttable;
total:currency;
begin
tmptable:=ttable.Create(application);
try
tmptable.DatabaseName:=tableitens.DatabaseName;
tmptable.TableName:=tableitens.TableName;
tmptable.Open;
tmptable.FindKey([tablepedidosnumeropedido.asInteger]);
total:=0;
while (not tmptable.Eof) and
(tmptable.FieldByName('NumeroPedido').AsInteger=
tablepedidosnumeropedido.AsInteger) do
begin
total:=total+(tmptable.fieldbyname('valorunitario').AsCurrency *
tmptable.fieldbyname('quantidade').AsFloat);
tmptable.Next;
end;
finally
tmptable.Close;
tmptable.Free;
end;
statictexttotal.Caption:=formatcurr('###,###,##0.00',total);
end;
Codigo que transformei:(Não consigo criar a TmpQry de jeito nenhum)
procedure TCPedidos.RecalculaPedido;
var
TmpQry:TZQuery;
Total:Currency; // armazena valores do tipo moeda
begin
// cria um objeto Qry via codificação
TmpQry := TZQuery.Create(Application);
try
// define DatabaseName e QryName via codificação
TmpQry.Connection := QryItens.Connection;
TmpQry.Name := QryItens.Name;
TmpQry.SQL.Text := 'Select * from Itens';
TmpQry.Open;
//Observe que, para um novo pedido, o CodigoPedido ainda não foi gerado.Self
// Daí QryPedidosCodigoPedido.AsString sempre tera valor nulo e não terá ítens o pedido.
TmpQry.Locate('NumeroPedido', QryPedidosCodigoPedido.AsInteger, []);
// TmpQry.FindField(QryPedidosCodigoPedido.AsString);
Total := 0; // inicializa a variavel totalizadora
while (not TmpQry.Eof) and (TmpQry.FieldByName('NumeroPedido').AsInteger = QryPedidosCodigoPedido.AsInteger) do
begin
// Acumula o Total da linha
Total := Total + (TmpQry.FieldByName('PrecoUni').AsCurrency * TmpQry.FieldByName('Quantidade').AsFloat);
TmpQry.Next; // próximo registro
end;
finally
TmpQry.Close; // fecha a tabela
TmpQry.Free; // libera objeto da memória
end;
StaticTextTotal.Caption := FormatCurr('###,###,##0.00', Total);
end;
Pergunta
Carlos Rocha
Copiei essa procedure de um programa que baixei da net.
o programa, ele era Table da Guia BDE, eu coverti em Query do Zeos Lib.
Acontece que a linha "TmpQry.Connection := QryItens.Connection;", a conexao um está sendo feita.
Codigo que copiei:
Codigo que transformei:(Não consigo criar a TmpQry de jeito nenhum)Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.