Crystal Report & Recordset

lunedì 08 gennaio 2007 - 10.24

Dav-ide Profilo | Junior Member

Premetto che prima di scrivere questo post ho letto nei vari forum e non ho trovato nulla in merito....
Sto utilizzando Visual Basic 2005 e dopo aver creato un report collegandolo ad una tabella di access, avrei la necessità di filtrare questi dati in base a date... Ad esempio visualizza tutto quello che va dal... al....
Immagino dover creare un recorset di dati, filtrarli e passarli a Crystal Report....
Aiuto! Come si fa???
E' da giorni che ci sto provando ma non riesco... dovrei scollegare il report dal database di access e collegarlo ad un recordset, ma come???

freeteo Profilo | Guru

ciao,
diciamo che hai 2 strade per fare questo:
- lasciare al report il filtraggio dei dati, impostando una recordselectionformula ad esempio in questo modo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


- oppure se vai meglio a caricarti i dati con ado.net ti basta fare la query con ado.net usando un TabelDataAdapter (come ad esempio SqlDataAdapter / OledbDataAdapter) che ti riempi la DataTable (o un dataset) con il metodo Fill, e poi passare questa table al report:
... DataTable miaTabella = new DataTable(); mioDataAdapter.Fill(miaTabella); ReportDocument mioreport = new ReportDocument (); mioreport.load("....miofile.rpt"); mioreport .SetDataSource (miaTabella); ...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Dav-ide Profilo | Junior Member

Diciamo che in qualche modo sono riuscito ad ottenere quello che volevo....
Per sicurezza però ti giro il codice nel caso vedi qualche svarione!

Prima di tutto ho inserito il componente Dataset.xsd e dopo aver collegato il mio database ho fatto questa funzione:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come ti dicevo il tutto sembra funzionare... a parte il between in sql :-( (le date sono in formato gg/mm/aaaa)
Ciao e grazie

freeteo Profilo | Guru

ciao,
io per quelli userei i parametri (OleDbParameter) da agigungere al command, cosi' non hai problema di formattazione della stringa...nascono proprio per 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