Fórum Adicionar Condição na Expressão de um Aggregate Field #221697

23/03/2004

0

Olá! Gostaria de saber se é possível colocar uma condição dentro de uma expressão de um Aggregate Field. Vou explicar melhor...

Gostaria de colocar um Aggregate Field que contasse quantos registros do ClientDataSet possuem o campo nome = x

onde x seria um nome qualquer...

Tentei, mas não consegui fazer... Alguém poderia me ajudar?

Obrigado!


Delphi32

Delphi32

Responder

Post mais votado

23/03/2004

A expressão de um campo agregado não aceita condições, aceita apenas expresões envolvendo funções de agregação - SUM(), AVG() e COUNT().

Você pode fazer das duas, uma:

1) Definir um índice pelo campo que você quer contar, ajustar o campo agregado para usar esse índice e usar a propriedade GroupState (eu acho que é isso) para, à medida que vc caminhe pelos registros, cheque o valor do índice e depois o valor do campo agregado para verificar o total encontrado para o campo do índice. Detalhe: o ClientDataSet deve estar ordenado pelo índice que vc definir no campo agregado;

2) Fazer simplesmente uma consulta SQL que te retorne o que você quer e, de alguma forma, coloque isso num campo calculado. Essa abordagem é lerda e lenta, em relação à primeira.


[]s
Rubem Rocha
Manaus, AM


Khundalini

Khundalini
Responder

Gostei + 1

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

Aceitar