ciao,
concordo con Paolo sul fatto che rispondiamo quando possiamo, il bello di un forum è che puoi avere informazioni gratuitamente da tante persone e quindi con tanti punti di vista, la cosa che non hai sicuramente è la garanzia che venga fatto in tempo breve.
Questo perche' chi ti risponde è qualcuno che sa darti qualche suggerimento, ma sicuramente fa anche altri lavori durante la giornata, magari proprio lavori a tempo pieno, quindi appena puo' risponde, ma stai tranquillo che i post di questo forum prima o poi vengono risposti quasi tutti.
Tornando al discorso report invece, ti chiedo come intendi procedere a livello di strumento, perche' se pensi di farti dei report a mano, ti consiglio di metterti l'anima in pace perche' perderai tantissimo tempo.
Sicuramente la scelta di un tool di reportistica è d'obbligo oramai, e a mio avviso hai 3 strade: SqlReporting, Crystal, o Active Report.
Se pensi ad uno dei primi 2 sicuramente possiamo aiutarti, se scegli il terzo, io almeno, non lo conosco.
Cmq sia, per i primi 2 il concetto i passi base sono questi:
- Crei un report, dando a design time una sorgente dati (puo' essere un oggetto che hai creato nel progetto (tipo una tua classe "Cliente" ) oppure puoi andare a fare ad agganciart ad un database.
- disegni il report mettendo i campi dove ti interessa (se usi Crystal, lavorerai con la sezione "dettagli", se lavori con SqlReporting ti affidi a componenti come liste/tabell/matrici dove a runtime i dati si ripeteranno (sono le righe in sostanza)
- da codice gli setti la sorgente dati, magari ti fai la query tu dal database riempiendo un oggetto "DataTable" e poi passandolo al report con il metodo "SetDataSource" di un oggetto report:
Crystal:
--------------------
Dataset miods = new Dataset();
...
ReportDocument mioreport = new ReportDocument ();
mioreport.load(@"c:\...miofile
mioreport .SetDataSource (miods );
...
SqlREporting:
--------------------
...
LocalReport report = this.reportViewer1.LocalReport;
report.ReportPath = @"C:\....\RDLC\ReportOrdini.rdlc";
ReportDataSource dati = new ReportDataSource("ds_Ordini", dataTableOrdini)
report.DataSources.Add(dati);
reportViewer1.RefreshReport();
...
Il codice è in c# ma passare a vb.net è sicuramente molto veloce.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo