Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Creazione dinamica gruppi
martedì 18 marzo 2008 - 12.53
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
marco2k6
Profilo
| Newbie
21
messaggi | Data Invio:
mar 18 mar 2008 - 12:53
Ciao a tutti,
sapete per caso come si fa a creare dinamicamente un gruppo?
Ho la necessita' di cambiare il campo del db associato al gruppo in modo dinamico in base a un parametro che c'e' su un altro campo del db. Tutto questo per evitare di costruire 20 report uguali (ovviamente cambiano solo per il gruppo)
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 18 mar 2008 - 23:25
32_cambio gruppo.zip
ciao,
questa mia tip di un po' di tempo fa, parla proprio di qeusto:
http://www.dotnethell.it/tips/ModificheRuntimeCrystal.aspx
ti ho allegato il progetto che è quello del tip, cosi' puoi guardarti anche l'implementazione reale.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
marco2k6
Profilo
| Newbie
21
messaggi | Data Invio:
mer 19 mar 2008 - 12:44
Ciao,
grazie funziona perfettamente!!
Pero' se ti vuoi divertire prova a risolvere questo quesito:
---------------------------------------------
In access ho costruito due tabelle: TABELLA_ANNO e PARAMETRO
La tabella TABELLA_ANNO e' cosi' strutturata
ANNO testo 4
IMPORTO valuta
SERVIZIO testo 50
Dentro la tabella TABELLA_ANNO ho inserito i seguenti valori
ANNO IMPORTO SERVIZIO
2007 110 GAS
2007 130 ENERGIA ELETTRICA
2007 200 ACQUA
2007 115 GAS
2007 123 ENERGIA ELETTRICA
2008 100 ACQUA
2008 90 GAS
2008 133 ENERGIA ELETTRICA
2008 80 ACQUA
2006 20 GAS
2006 35 ENERGIA ELETTRICA
2006 43 ACQUA
2006 50 GAS
La tabella PARAMETRO e' cosi' strutturata
valore testo 1
Dentro la tabella PARAMETRO ho inseriro il campo valore
I valori sono 'A' per anno , 'B' per importo , 'C' per servizio
--------------------------------------------- Questo e' la formula utilizzata come gruppo
dim valore
if {parametro.valore} = "A" then
valore = cstr({tabella_anno.ANNO})
elseif {parametro.valore} = "B" then
valore = cstr({tabella_anno.IMPORTO})
else
valore = cstr({tabella_anno.SERVIZIO})
end if
formula = valore
--------------------------------------------
e cosi' funziona!
volevo ulteriormente semplificare utilizzando il campo parametro per inserire direttamente il nome del campo
in pratica:
formula = cstr(parametro.valore}
e dentro la tabella PARAMETRO inserisco TABELLA_ANNO.ANNO o TABELLA_ANNO.IMPORTO o TABELLA_ANNO.SERVIZIO
ma non funziona!!
ho fatto centinaia di prove e non sono riuscito a capire la logica che crystal utilizza per utilizzare i gruppi
addirittura se scrivi:
if {parametro.valore} = "A" then
valore = cstr({tabella_anno.ANNO})
elseif {parametro.valore} = "B" then
valore = cstr({tabella_anno.IMPORTO})
else
valore = cstr({tabella_anno.SERVIZIO})
end if
formula = 'XXXX' & valore & "XXXX"
funziona lo stesso!!
Quindi l'unica spiegazione e' che il valore sia passato come riferimento.
BOH!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 19 mar 2008 - 13:56
ciao,
non è che sia un problema di "{" o di apici? perche' se guardi nell'esempio la formula scrive dentro il nome del campo fra "{}" in modo da non avere un valore stringa ma un nome di campo.
Altra cosa, potrebbe essere che magari passando tramite una valore di db, lo legga cmq come un valore stringa, e non "qualcosa" da scrivere dentro alla formula...
Perche' il gioco è proprio quello, ovvero passare da codice un valore che è come tu scrivessi dentro al formula editor di Crystal, non una stringa...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !