Newsgroup: it.comp.lang.delphi
Titolo: ClientDataSet

Ciao a tutti,
non riesco ad ottenere un campo calcolato con il ClientdataSet
La situazione è questa:
ho una query piuttosto comlessa che genera un dataset collegato tramite 
datasource ad una dbgrig.
Il dataset ha un campo VALTOT di tipo currency
Sul clientDataSet imposto il MasterSource sul datasource collegato alla 
dbgrid
definisco un campo VALTOT di tipo currency
definisco tramite la proprietà Aggregates un campo con Expression = 
SUM(VALTOT) e lo attivo
ora quando vado a recuperare il mio campo 
ClientDataSet.Aggregates.Items[0].Value, il campo è sempre vuoto.
Cosa mi sfugge?
Grazie
Andrea 
__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5272 (20100712) __________
Il messaggio è stato controllato da ESET NOD32 Antivirus.
www.nod32.it

 Cosa mi sfugge?
E' da un pezzo che non uso Delphi, e non posso controllare quanto sto
per dire, ma non era qualcosa tipo AggregatesFileds da gestire?
ACSH
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Niente....
il campo non si valorizza 
__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5274 (20100713) __________


 dbgrid
..ma prima di fare cio' hai letto bene a cosa serve la property
MasterSource..??
A.


Mi pare di capire che serve a settare il dataset a cui voglio far puntare il 
mio ClientdataSet (nel mio caso è un AdoDataSet) 
__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5274 (20100713) __________


> Mi pare di capire che
Cosa vuol dire "mi pare di capire.."? Hai letto nell'help a cosa serve
MasterSource..? SI o NO?
A.

 SUM(VALTOT) e lo attivo
Mi sfugge come popoli il ClientDataSet, il dataset padre lo setti 
(MasterSource), ma i dati dentro il CDS come li butti ??
^_Goblin_^
-- 
Ibis et redibis non morieris in bello
http://goblinland.myminicity.com/

 SUM(VALTOT) e lo attivo
Mi sfugge come popoli il ClientDataSet, il dataset padre lo setti
(MasterSource), ma i dati dentro il CDS come li butti ??
Mi sono incartato...
quello che devo fare è trovare la somma di un campo di un AdoDataSet 
generato a runtime da una query.
Pensavo di poter caricare il dataset su un clientDataSet e utilizzare un 
campo aggregato per fare tale operazione, ma come giustamente mi fai notare 
il ClientdataSet non è popolato e non riesco a farlo...
Andrea 
__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5275 (20100713) __________


 il ClientdataSet non è popolato e non riesco a farlo...
Hai solo sbagliato candeggio :)
Devi usare il trittico "DataSetSQL + DataSetProvider + ClientDataSet".
Il datasetSQL può essere benissimo AdoDataSet, devi attaccare AdoDataSet 
nella property dataset del DataSetProvider e il datasetprovider deve 
essere attaccato, a sua volta, alla property Providername del CDS, nel 
provider setta il l'opzione "poAllowCommandText" a true e la query di 
apertura la scrivi nella property commandtext del CDS nel momento in cui 
apri il CDS  i dati letti vanno a popolare il CDS, il quale diventa il 
tuo dataset dove poter lavorare, se usi il CDS come contenitore dove fai 
operazioni di calcolo ti puoi fermare qui, nel caso di operazioni come 
insert, delete e update le cose si complicano un pochino (non tanto), 
per cui ti consiglio di cercare qualche tutorial di come gestire i CDS 
in quanto una mia semplice spiegazione sarebbe abbastanza lacunosa e 
sarei altamente cazzziato da Alberto in quanto non ho fornito 
informazioni complete e dettagliate :)
Saluti
^_Goblin_^

 Devi usare il trittico "DataSetSQL + DataSetProvider + ClientDataSet".
........
perfetto!
grazie mille, mi mancava questo step...
Andrea 
__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5276 (20100713) __________


> grazie mille, mi mancava questo step...
no: ti mancava di documentarti prima di usare il cds e la property
MasterSource.
A.