Jump to content
Fórum Script Brasil
  • 0

Somar Campos De Uma Query


hencker
 Share

Question

4 answers to this question

Recommended Posts

  • 0

Por exemplo:

with DMRelatos do
begin
        QBase.Close;
        QBase.SQL.Clear;
        QBase.SQL.Add('SELECT * FROM DIPROTOCOLO WHERE ProtocoloData > 31/5/2005 AND DistribuicaoCartorio = "TabeliÒo de Protesto de Letras e TÝtulos" AND TituloNaturezaAbr="DMI"');
        QBase.Active := True;
end;
QRDMIQnReg.Caption := IntToStr(DMRelatos.QBase.RecordCount);
//até aqui eu fiz

Agora fazer algo assim:

DMRelatos.Qbase.First

ENTQUANTO NÃO EOF FAÇA

valor = valor + CAMPO.DO.BANCO.RELACIONADO.COM.O.VALOR (aqui eu tenho um dos problemas, meu delphi não está aceitando que eu declare uma variavel como Float;)

FIM DO FAÇA;

DMRelatos.Qbase.Next;

Entendeu??? Meu maior problema é que eu não consigo declarar nada como Float, o delphi não entende Float... C têm alguma idéia???

Link to comment
Share on other sites

  • 0

tipo, o delphi não reconhece o tipo Float... exemplo

var

valor: Float;

um ponto flutuante é do tipo Double, que voce pode usar também

a definicao de Real ou Currency

então seria

var

valor: Real; //ou Double, ou Currency

begin

...

valor := valor + CAMPO.DO.BANCO.RELACIONADO.COM.O.VALOR;

Link to comment
Share on other sites

  • 0

Olá hencker,

você pode fazer essa soma diretamente na Query.

with DMRelatos do
begin
        QBase.Close;
        QBase.SQL.Clear;
        QBase.SQL.Add('SELECT Sum(CAMPO) as CAMPO FROM DIPROTOCOLO WHERE ProtocoloData > 31/5/2005 AND DistribuicaoCartorio = "TabeliÒo de Protesto de Letras e TÝtulos" AND TituloNaturezaAbr="DMI"');
        QBase.Active := True;
end;
ou então usando a while:
with DMRelatos do
begin
        QBase.Close;
        QBase.SQL.Clear;
        QBase.SQL.Add('SELECT * FROM DIPROTOCOLO WHERE ProtocoloData > 31/5/2005 AND DistribuicaoCartorio = "TabeliÒo de Protesto de Letras e TÝtulos" AND TituloNaturezaAbr="DMI"');
        QBase.Active := True;

        while not QBase.EOF do begin
           Valor := Valor + QBase.FieldbyName('Valor').value;
           QBase.Next;
        end;
end;

Abs. Progr'amador.

B)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...