Problema di visualizzazione di crystal report 11

lunedì 30 giugno 2008 - 14.42

DomA Profilo | Expert

salve a tutti,
ho un problema con la mia applicazione. Ho costruito un report con crystal report 11 che visualizza i dati da un db access. quando lo apro in progettazione e vedo l'anteprima risultano esserci i dati che ho inserito nel db. Tuttavia quando tento di aprirlo dal programma non succede nulla (e non vi è traccia di errore).

Vi posto il codice per l'apertura del report:

Dim RepPath As String = CStr((Me.txtNomePerc.Text) & "\FT1.rpt")
reportDocument1.Load(RepPath)

Vi ringrazio per ogni utile suggerimento
Domenico Mancina

ringrazio Matteo Raumer per la risposta ora siccome nel database o più tabelle come faccio ad alimentarlo?
grazie

freeteo Profilo | Guru

>ringrazio Matteo Raumer per la risposta ora siccome nel database
>o più tabelle come faccio ad alimentarlo?
con questa frase presumo che ti abbia già risposto in qualche altro thread
Se voi passare i dati a varie tabelle, ti basta usare un codice di questo tipo:

report.Database.Tables(0).SetDataSource( miaDataTable ); report.Database.Tables(1).SetDataSource( altraDataTable );

dove hai l'accesso per indice, o per nome della tabella del report...

ciao.

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

DomA Profilo | Expert

ti ringrazio per la risposta. Proverò subito e ti darò l'esito.
Domenico Mancina

DomA Profilo | Expert

ciao Matteo premetto che sono un pricipiante di vb 2005 e che sto cominciando a perdermi.
Ecco il codice modificato secondo i tuoi consigli:

Private Sub CaricaReport()
Dim strProvider As String = "Provider = Microsoft.Jet.OLEDB.4.0;"
Dim NomePerc As String = CStr(Me.txtNomePerc.Text)
Dim strOrigine As String = "Data Source=" & NomePerc & "\dbTEMP.mdb"
Dim strConnessione As String = strProvider & strOrigine
Dim Conn As OleDb.OleDbConnection
conn = New OleDb.OleDbConnection(strConnessione)
Dim cmdArt As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM Articoli", strConnessione)
Dim objTable As New DataTable()
cmdArt.Fill(objTable)


Dim RepPath As String = CStr((Me.txtNomePerc.Text) & "\FT2.rpt")
Me.reportDocument1.Load(RepPath)
Me.reportDocument1.SetDataSource(objTable)

Me.CrystalReportViewer1.ReportSource = Me.reportDocument1
MsgBox("OK REPORT")
End Sub




n.b. non da errori e mi esce la msgbox finale tuttavia non vie è traccia del report sullo shermo; dove sbaglio?
adesso il report contiente, per ora, la sola tabella Articoli
aiutatemi
Domenico Mancina

freeteo Profilo | Guru

ciao,
questo codice è dentro ad una pagina asp.net? se si ti manca il "Databind()" alla fine, metodo necessario per far renderizzare in html le liste di contenuti...

ciao.

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

DomA Profilo | Expert

il codice è dentro una windows form e dovrebbe servire a visualizzare il report di una fattura.
Domenico Mancina

freeteo Profilo | Guru

ciao,
prova ad usare una variabile nuova, quindi fare tutto a codice invece di usare "Me.reportDocument1...." usa una variabile nuova di tipo "ReportDocument", che non rimanga in memoria qualcosa da qualche altra operazione precedente.
Quindi un codice tipo:

Dim report as New ReportDocument() report.Load(RepPath) report.SetDataSource(objTable) Me.CrystalReportViewer1.ReportSource = report

così sei sicuro che parte tutto pulito.Se anche così ci sono problemi, allora potrebbe essere che la tua objTable non abbia gli stessi campi (e nella stessa posizione) che invece hai quando hai disegnato il report...

ciao.

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

DomA Profilo | Expert

>>così sei sicuro che parte tutto pulito.Se anche così ci sono problemi, allora potrebbe essere che la tua objTable non abbia gli stessi campi (e nella stessa posizione) che invece hai quando hai disegnato il report...

Ciao Matteo,
ti ringrazio per questo e gli altri, fondamentali, suggerimenti che mi hai fornito.
Adesso funziona tutto.


Domenico Mancina
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