Newsgroup: it.comp.lang.delphi
Titolo: Campi calcolati e report

Dopo un po' di "se t'aiuti dio t'aiuta", sono costretto a chiedere un aiuto
da voi :)
Dovrei fare un report sullo stile "stampa unione" di word, ossia un record =
una pagina, e fin qui niente di strano.
Il problema è che dovrei anche stampare dei valori che non sono campi del
database, ma valori *derivati* dagli altri campi del db (non in maniera solo
matematica purtroppo).
Io uso PReport (un tool free), e con questo non sono riuscito a risolvere il
problema, dato che mette a disposizione delle "variables" ma sono uniche e
restano uguali per tutto il report.
Mi andrebbe bene anche usare Rave, ma sono un po' a digiuno (non l'ho mai
usato).
Inoltre, so che ci sono i cosiddetti "calculated fields", ma anche questi mi
sono parecchio oscuri... in particolare non ho capito se sono campi che
devono esistere sul db o cosa...
--
Jax
Journeying Artificial Xenomorph

Tools tosti tipo crystal report di seagate permetto di fare cose spaziali.
Ma, questo benedetto tool de deve creare un cross table si mette  i dati in
una cache locale
E se i dati sono tanti, buonanotte!
Jax, se puoi, semplificati la vita e dai in pasto al report un dataset già
pronto.
In fondo, produrre i dati dal report non spetta al report che, salvo qualche
ragionevole eccezione tipo i totali di colonna e/o di pagina, dovrebbe
limitarsi a stampare cio che gli passa la app.
Il tutto, ovvio, imho.
Bye
A

 sono campi che devono esistere sul db o cosa...
Un campo calcolato non esiste sul db, puoi aggiungere il campo calcolato al
dataset (che cosa stai usando?) e usare quello. Puň essere una soluzione
comoda per non complicare il report ma dubito che abbia dei vantaggi in
termini prestazionali.
Ciao :-)
--
Andrea /\/\agni
ICQ#: 174108000

 dovrebbe limitarsi a stampare cio che gli passa la app.
Su questo siamo d'accordo, il problema è che sono dati, diciamo, di "look",
per questo non vorrei metterli nel dataset.
Faccio un esempio, in un campo vorrei stampare A, B, C, D.... a seconda del
valore che ho in un altro campo (una classificazione insomma).


 che abbia dei vantaggi in termini prestazionali.
Le prestazioni in questo caso non mi interessano, e sto usando Zeos su
MySql.
Il problema č che non trovo esempi che li usino e quindi sono piuttosto
spaesato...


 insomma).
Espandi l'esempio please.
Andrea

 valore che ho in un altro campo (una classificazione insomma).
aaaaahahh!
Pensavo chissà cosa.
Questo potrebbe rientrare nelle "eccezioni" che citavo nel mio post.
Bye
A

ti posso dire come ho risolto io la cosa in QR: ogni QRlabel o QRdblabel
ha un evento onPrint con un parametro passato per referenza che si chiama
value:
assegnando questo evento fai stampare quello che vuoi ad ogni record.
Questo con QR, con il tuo tool penso che le cose non dovrebbero essere
molto differenti.
Caio
Marco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Espandi l'esempio please.
Faccio un ARJ X :)
Mettiamo di avere un report classico, a righe e colonne.
Ho un campo, diciamo, IMPORTO, e dovrei avere, nel report, una label alla
sua destra che contiene "A" se IMPORTO č maggiore di 10000, "B" se č
compreso tra 10000 e 5000... cosě via.
E' piů chiaro adesso?


 che si chiama value:
E' quello che sto cercando di fare, purtroppo nel mio tool non esiste una
possibilità del genere, o almeno, non in questo modo.
Probabilmente la soluzione ai miei problemi sarebbero i campi calcolati...
proverò a impegnarmi di più.


 Journeying Artificial Xenomorph
-- 
Ciao, Anto', [35, 143, AQ] 
MB C SC 220 CDI Magma Red
"Di sempre cio' che senti
 e fai cio' che pensi."
	G. Garcìa Màrquez

 per usare i campi calcolati devi usare la persistenza degli stessi,
ACH! Grazie! Mi hai tolto d'impaccio!


 ACH! Grazie! Mi hai tolto d'impaccio!
C'è ancora una cosa: non ho mai usato i campi persistenti.
Io ho dichiarato solo quelli calcolati, e tutti gli altri no; ora, mi sembra
di capire che se non li dichiaro a design-time, non posso neanche usare la
FieldByName('Campo') perché mi dice "Field not found".
E' normale oppure sbaglio io? (mi sembra di essere tornato a D1 :))


E' normale oppure sbaglio io?
E' proprio come pensi, devi dichiararli a design time. Ciao!
-- 
Morde. 
(morde at programmer dot net)

 Journeying Artificial Xenomorph
-- 


 omeQueryNOMECAMPO.Value
Grazie mille, anche se stilisticamente non mi piace molto, ho (avete)
risolto il problema in modo egregio :D
