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
Query SQL nel Formula Worksheet
lunedì 06 marzo 2006 - 17.21
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bpuglia
Profilo
| Newbie
3
messaggi | Data Invio:
lun 6 mar 2006 - 17:21
Salve a tutti
Sono nuovo del Forum.
Ho necessità di mettere nel Formula worksheet una query SQL, più o meno vorrei fare questo:
if {PROGETTO.COD_AREA_PROGETTO} <> 1
then
select des_progetto from progetto_storico where {TRANSAZIONI.DATA_ORA_MOVIMENTO} between data_inizio_validita and data_fine_validita
Vorrei quindi che fosse visualizzato il contenuto del campo DES_PROGETTO.
Purtroppo non posso prenderlo da una tabella o command, perchè il valore dipende dal campo visualizzato del dettaglio.
E' possibile fare ciò in CRXI???
Grazie a tutti
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 6 mar 2006 - 18:00
ciao,
allora mi sembra che anche la XI di Crystal non dia la possibilita' di cambiare la query a runtime (almeno nelle versioni con royalty free) pero' puoi giocare con 1trucchetto da query, ovvero caricare da codice 1 alias del campo a 2a (seconda) della scelta:
select data as miocampo form tabella
ti carichi 1a datatable e poi la setti come sorgente del report.
Quando devi scegliere 1altro campo (il tuo "PROGETTO.COD_AREA_PROGETTO <> 1") la stessa datatable la setti con:
select altrocampo as miocampo form tabella
cosi il report si aspetta sempre 1campo di nome "miocampo" e tu glielo cambi sotto il naso.
Qualcosa di simile lo puoi raggiungere altrimenti caricando entrambi i campi e poi usare 1a formula che switchi tra i due campi, ovvero 1a formula con dentro:
if (PROGETTO.COD_AREA_PROGETTO <> 1)
{campo1}
else
{campo2}
Quindi la formula prende il campo (che pero' devi aver caricato entrambi da query ) a 2a della scelta,e lo metti ovviamente nella sezione dettagli metti...
potrebbe andare bene come "compromesso"?
ciao
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
bpuglia
Profilo
| Newbie
3
messaggi | Data Invio:
lun 6 mar 2006 - 18:09
Grazie per la risposta
Però il mio problema nn è la prima parte della formula quanto la possibilità di fare una query, a prescindere dalla condizione.
Praticamente il valore di un campo formula deve assumere il risultato di una query fatta sul db, la query quindi viene eseguita per ogni riga di dettaglio.
Spero di essermi spiegato meglio.
Grazie,
Ben
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 7 mar 2006 - 20:14
ciao,
ho capito allora forse puoi lavorare con i campi sqlexpression "campi espressione sql" e dentro ci scrivi in sintassi sql la quesry che deve ritornarti 1valore (mi raccomando 1 valore solo altrimenti la formula ti da errore) ad esempio:
select count(id) from tabella
questa sintassi la scrivi dentro al campo espressione sql e vedrai che nel report ti restituisce 1campo con 1 valore (in questo esempio 1 numero)
era questo che cercavi?
grazie, ciao
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
bpuglia
Profilo
| Newbie
3
messaggi | Data Invio:
lun 20 mar 2006 - 10:07
Grazie per la risposta.
Ho risolto in modo diverso mettendo tutti i campi che mi servivano nella SELECT che mi restituisce tutti i dettagli.
Ciao,
Ben
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 !