Report con parametri

lunedì 21 gennaio 2008 - 14.40

Latopina Profilo | Newbie

Ciao, premetto che uso da pochissimo Crystal Report.
Devo realizzare un report che estrae le righe di una tabella in base ad una certa condizione WHERE regolata da dei parametri.
Mi hanno detto che in Crystal report posso connettermi direttamente ad una stored procedure [tipo: select * from tblA where col1=@PARAM1], ma quello che vorrei sapere è:

1) è più corretto se mi collego alla tblA e tramite "ESPERTO SELEZIONE" imposto il filtro, piuttosto che caricare la sp che mi sembra "aggiri" un pò l'ostacolo (per chi non lo conosce) crystal report?

2) nel caso in cui la risposta alla prima domanda fosse positiva, in che modo dico a crystal report di creare un filtro con dei parametri (da "ESPERTO SELEZIONE" ho visto si possono impostare dei valori fissi)


Spero di essere stata chiara,
Grazie.

PS. come faccio a cancellare un post (tipo questo che l'ho postato due volte per errore)?

freeteo Profilo | Guru

>1) è più corretto se mi collego alla tblA e tramite "ESPERTO
>SELEZIONE" imposto il filtro, piuttosto che caricare la sp che
>mi sembra "aggiri" un pò l'ostacolo (per chi non lo conosce)
>crystal report?
in termini di prestazioni usare la stored procedure è sicuramente meglio, pero' potresti legarti al database che stai usando.
Usare invece una query tua impostata tramite "esperto selezione" ti puo' tornare utile se mai un giorno cambierai pc, e soprattutto se cmq vuoi avere piu' controllo sulla query, inquanto è tutto demandato a te che la scrivi.
In entrambi i casi le prestazioni sono praticamente uguali per una mole di dati media, e forse per l'utente che aspetta la stampa addirittura non cambia molto...io farei una scelta sull'esperto selezione perche' mi piace avere sempre il controllo totale, e la facilita' di modifica...ma è un mio punto di vista, vedi te qual'e' il giusto compromesso...



>2) nel caso in cui la risposta alla prima domanda fosse positiva,
>in che modo dico a crystal report di creare un filtro con dei
>parametri (da "ESPERTO SELEZIONE" ho visto si possono impostare
>dei valori fissi)
si allora puoi fare in modo che la tua query sia parametrizzata andando su "add command" e aggiungendo un parametro, e comporre una query tipo:

select ... from tabella where campo= {?parametro}

(ti basta fare doppio click sul parametro che hai sulla destra e lui te lo porat sulla query)

Dopodiche' da codice prima di mostrare il report glielo passi:

ReportDocument report = new ReportDocument(); report.Load(@"c:\....RptClienti.rpt"); ParameterDiscreteValue par = new ParameterDiscreteValue(); par.Value = "miovalore"; report.ParameterFields[0].CurrentValues.Add(par); crystalReportViewer1.ReportSource = report;

>PS. come faccio a cancellare un post (tipo questo che l'ho postato
>due volte per errore)?
lasciamolo li, e teniamo buono cmq questo....

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5