CR embedded VS2005 - Problemi aggiornamento SetDataSouce

martedì 13 aprile 2010 - 21.18

gheminga Profilo | Newbie

Salve a tutti,
ho un problema che mi sta ossessionando ed è il seguente:
ho creato un report con due tabelle collegate con un campo ID e poi una volta effettuata la selezione con uuna query dedicata avevo l'intenzione di aggiornare il report con le nuove informazioni ma queste vengono visualizzate ignorando l'istruzione JOIN. Il data base è un data base access e l'aggiornamento del report l'ho fatto con questa procedura che ho allegato. Il data set inviato su una datagrid mostra i dati correttamente.
Sono disperato, non riesco a capire l'origine del problema ne riesco a trovare la soluzione.
Qualcuno sa darmi una dritta.
Grazie comunque

Gargiulo

Dim sSQL As String

'hierarchicalGroupingReport = New Movimenti()
Try
RPT.Load("D:\0Sw-Net\myBank\movimenti.rpt")
If sFind = "" Then
sSQL = "SELECT Valuta, Contabile, Dare, Avere, DescrizioneEstesa, CC " _
& "FROM tb_Conti INNER JOIN tb_Movimenti ON tb_Conti.IDCC=tb_Movimenti.IDCC;"
Else
sSQL = sFind
End If
DS = DB.GetDataSet("Movimenti", sSQL)
'DS = DB.GetDataSet("Movimenti", "SELECT tb_Movimenti.Valuta FROM tb_Movimenti;")
'RPT.SetDataSource(DS.Tables("Movimenti"))
RPT.SetDataSource(DS.Tables("Movimenti"))
Me.CrystalReportViewer1.ShowRefreshButton = False
Me.CrystalReportViewer1.ShowCloseButton = False
Me.CrystalReportViewer1.ShowGroupTreeButton = True
Me.CrystalReportViewer1.Refresh()
Me.CrystalReportViewer1.Visible = True
Me.CrystalReportViewer1.ReportSource = RPT

Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

freeteo Profilo | Guru

Ciao,
ma quando hai disegnato il report, gli hai dato in pasto la stessa sorgente dati? Dato che tu gli passi una join costruita con sintassi sql, quando disegni il report devi digli di usare un "comando" e scrivere la stessa query in modo che poi nel report vedi una sola tabella (che di fatto è quello che torna la query).
Poi nel report, per fare una gerarchia devi usare i raggruppamenti.

Casomai allega un progettino d'esempio con dei dati di prova che vediamo di capire il problema e sistemarlo insieme.

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

gheminga Profilo | Newbie

Chiedo scusa per il ritardo e ti ringrazio,
io ho fatto nel seguente modo: ho creato il report col wizard per arrivare al report campione (quindi con la join) e poi anzichè usare
i parametri pensavo di cambiare il valore della stringa che ricarica il data set.
L'struzione filtra correttamente i dati ma non effettuando la join duplica i campi.
Grazie mille
Buona serata

freeteo Profilo | Guru

>Chiedo scusa per il ritardo e ti ringrazio,
di nulla, figurati


>io ho fatto nel seguente modo: ho creato il report col wizard
>per arrivare al report campione (quindi con la join) e poi anzichè usare
>i parametri pensavo di cambiare il valore della stringa che ricarica il data set.
no, devi passare il parametro (se ce l'hai) oppure fare un filtro lato codice (intendo riempi il datatable tramite codice ado.net classico, e poi glielo passi al report con il metodo "SetDataSource")


>L'struzione filtra correttamente i dati ma non effettuando la
>join duplica i campi
certo, ma il report permette il raggruppamento per quei campi, che è il modo corretto di visualizzare in questa situazione...infatti se vogliamo, la join in sè è qualcosa che appiattisce una struttura gerarchica, mentre il report con i raggruppamenti la ricrea...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

gheminga Profilo | Newbie

Credo di aver capito.
Ti ringrazio per la pazienza.
Grazie1k

freeteo Profilo | Guru

>Credo di aver capito.
ok, ottimo posta la soluzione quando l'hai trovata (così chi si trovasse a passare di qui potrebbe trarne beneficio) ed accetta una risposta se ti è stata utile.


>Ti ringrazio per la pazienza.
di nulla, figurati, siamo qui per questo


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5