Salve a tutti.
Ho un problema: ho un database che contiene un elenco di persone (Campi: nome, cognome, eta categoria, etc) raggruppate per categorie in un ClientDataSet con C++ Builder 6.0. Devo semplicemente visualizzare il più vecchio di ogni categoria.

Ho provato con aggrezioni e filtri: ho creato un campo aggregato (Pippo con Expression = Max(Eta)) e ho imposto la condizione sul filtro Eta < Pippo. Ma chiaramente mi da errore in quanto il campo aggregato e manutenuto durante tutto il filtraggio e non può saper il suo valore proprio all'atto del filtraggio. Pace!

Ho provato a estrapolare con un ciclo tutti i valori di eta minima per ogni categoria e introdurli in un filtro il quale assume una connotazione di questo tipo:
(Configurazione = 1) And ((Categoria='A' AND Eta = 1975) OR (Categoria='B' and Eta = 1965) Or ...)
Ma il filtro non funzione: filtra solo rispettando la condizione (Categoria = 1) senza rilasciare nessuna eccezione (!!!!).

Allora ho provato a impostare i filtri attraverso l'evento OnFilterRecord. Quindi inposto l'evento alla funzione che più mi aggrata, filtro e reimposto OnFilterRecord al valore iniziale, cioè senza funzione. Ma nel momento che riassegno OnFilterRecord rifintra tutto e quiandi non filtra.

Non ho più idee.

Ringrazio anticipatamente chiunque si interessi: GRAZIE.

Cordiali saluti