MaxValue do ClientDataSet não funciona

19/11/2005

quando tento utilizar a propriedade MaxValue de um campo do ClientDataSet, é sempre retornado o valor zero.
porquê isso está acontecendo?
algum macete para retornar o valor correto?


Raserafim

Respostas

19/11/2005

Firekiller

Max onde tá retornando 0 ?? Porque se não estou enganado, o MaxValue é só uma restrição de Valor Máximo para campos Numéricos...


Responder Citar

20/11/2005

Raserafim

humm é verdade. foi mal. realmente o MaxValue é pra limitar o valor.
mas o que eu queria é saber o maior valor de um campo no conjunto de registros. tem alguma função q retorne o maior valor?


Responder Citar

20/11/2005

Paulo

seria isso?

SELECT MAX(CAMPOINTEGER) FROM TABELA



Responder Citar

21/11/2005

Kotho

Vc pode criar um campo do tipo Aggregate e na propriedade Expression, vc coloca MAX(CAMPO).

Tbém é necessário setar True para Active desse campo... e True para AggregatesActive no ClientDataSet.

A única restrição para esse tipo de campo, é sempre acessá-lo como AsString... pois se a tabela estiver vazia e vc acessar com AsInteger, dá erro...


Responder Citar

22/11/2005

Raserafim

Paulo, não posso utilizar esse código SQL pois não posso consultar os dados no banco, tem que ser os dados que estão no ClientDataSet, pois sofreram algumas alterações.


Responder Citar

22/11/2005

Raserafim

Katho, da forma como vc falou os dados utilizados são os que estão na base, ou são os que estão diretamente no ClientDataSet?


Responder Citar

25/11/2005

Kotho

São os que estão no ClientDataSet... inclusive, se vc filtar o CDS, ele vai calcular somente os dados que estiverem visíveis...

Você pode tbém fazer os calculos por grupos... mas isso é outra estória...


Responder Citar