Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
[Vb.net] Crystal Report
mercoledì 19 maggio 2004 - 16.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mer 19 mag 2004 - 16:55
Ciao..allora premetto che ho iniziato da 3 ore a usare Crystal Report, (e già lo odio ^_^)..ho un problema.
Io ho un tasto "Stampa", dove chiamo un form con un CrystalReportViewer..da li io gli assegno una tabella dove prendere i dati ed il report(.cpt) creato, e testato funzionante (da "Verifica Database"); il codice del form di stampa è:
Private Rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Rpt.Load("C:\Progetti Vb.net\tabella.rpt", CrystalDecisions.[Shared].OpenReportMethod.OpenReportByDefault)
Rpt.SetDataSource(TblRep) ' TblRep = Mia tabella con i dati
CRW.ReportSource = Rpt ' CRW è il mio CrystalReportViewer
Problema..mi compare una dialog dove mi chiede : nome server, database, ID, password sebbene non abbia ne Id ne password su DB, e non voglio assolutamente vederla.
tanto più che posso scegliere solo tra il tasto "Fine" e il tasto "annulla"..risultato il report non legge i dati...cosa posso fare?
C' è qualcuno che può aiutarmi?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 19 mag 2004 - 18:42
ciao,
devi dare il percorso al report dove sta il database settando la logoninfo per le tabelle del database.
guarda questi thread:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=603
http://www.dotnethell.it/forum/messages.aspx?ThreadID=198
ciao e non odiarlo è 1 buon prodotto!!! ;-)
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 20 mag 2004 - 07:53
Ciao Andy,
puoi vedere anche qui:
http://www.dotnethell.it/articles/article.aspx?ArticleID=87
Scendi a metà pagina e guarda il listato n°2.
Se proprio non ti piace Crystal Reports puoi usare i Reporting Services:
http://www.dotnethell.it/articles/article.aspx?ArticleID=116
ciao
david
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
gio 20 mag 2004 - 09:21
Innanzitutto vi ringrazio per le vostre ripsoste, e ora so che farò la figuraccia del noob...allora sono 2 gli errori che non riesco a capire..nel uo Articolo David (listato n.2) instanzi la classe con
TableLogOnInfo Cred = New TableLogOnInfo
e non me l'accetta, e me la trasforma in
TableLogOnInfo(Cred = New TableLogOnInfo) e segna errore.
Mentre se scrivo
Dim Cred = New TableLogOnInfo me l'accetta ma in runtime mi dice che non è instanziata -.-
Altra cosa..
CrystalRepViewer.Reportsource = Server.mappath("report.rpt")..da errore su Server.mappath(...)
Come posso risolvere?
Grazie ancora...a presto..
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
gio 20 mag 2004 - 10:08
ciao,
per caricare il report per andare bene ti dovresti appoggiare all'oggetto reportdocument:
ReportDocument mioreport= new ReportDocument();
mioreport.Load(Server.MapPath("report.rpt"));
e poi quando hai mioreportcaricato gli setti le proprieta di connessione (esempio che si connette a sql, in access è simile) :
CrystalDecisions.Shared.TableLogOnInfo zLogOnInfo = mioreport.Database.Tables[0].LogOnInfo;
zLogOnInfo.ConnectionInfo.ServerName = @".\netsdk";
zLogOnInfo.ConnectionInfo.DatabaseName = "database";
zLogOnInfo.ConnectionInfo.UserID = "sa";
zLogOnInfo.TableName = "tabella";
mioreport.Database.Tables[0].ApplyLogOnInfo(zLogOnInfo);
dopodiche lo dai come sorgente a il visualizzatore:
crView.ReportSource = mioreport;
crView.ViewReport (o databind non ricordo piu1 ... :-(
prova cosi dovrebbe funzionare, cmq controlla in debug i valori degli oggetti e vedi se vengono impostate o meno le proprieta' di connessione...
ciao
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 21 mag 2004 - 09:24
Ciao..è proprio qui il punto..già scrivendo
ReportDocument MYRep = New ReportDocument
non me l'accetta, e dandomi errore me lo trasforma in
ReportDocument(MYRep = New ReportDocument)
..forse c'è qualcosa che devo includere e non ho incluso?
Come include io ho :
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
..non so dove sbattere la testa..
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 21 mag 2004 - 09:27
ciao
gli imports mi sembrano giusti ma stai scrivendo in c# o vb.net?
perche' "ReportDocument MYRep = New ReportDocument" è c# e "imports ..." e' in vb...
cmq in vb : "dim MYRep as New ReportDocument" io nel post sotto ho scritto in c#...
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 21 mag 2004 - 09:43
Ciao..innanzitutto grazie ancora x la disponibilità, io programmo(come da oggeto topic ^_^) in Vb.net...ma comunque non cambia..x farti capire ti posto il mio codice della form con il crstal report viewer
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
...
...
....
Private Rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
' CRW è il mio crystal report viewer
Private Sub CRW_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CRW.Load
Dim Cred As New TableLogOnInfo
' Rpt è il document a cui assegno il mio file Rpt..
Rpt.Load("C:\tabella.rpt", CrystalDecisions.Shared].OpenReportMethod.OpenReportByDefault)
Cred.ConnectionInfo.ServerName = "SERVER"
Cred.ConnectionInfo.UserID = "sa"
Cred.ConnectionInfo.Password = ""
Cred.ConnectionInfo.DatabaseName = "SQL"
Cred.TableName = "TABELLA001"
CRW.LogOnInfo.Add(Cred)
CRW.ReportSource = Rpt
End Sub
End Class
Risultato? Eccezione sulla penultima riga, con testo:
'--------------------------------------------------------------------
Eccezione non gestita di tipo "System.NullReferenceException" in Gest_Imballi.exe
Informazioni aggiuntive: Riferimento a un oggetto non impostato su un'istanza di oggetto.
'--------------------------------------------------------------------
Di sicuro è una stupidata quella che faccio, ma essendoci entrato da poco non so che fare..
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 21 mag 2004 - 09:58
mmm... succede anche se imposti la logoninfo alla tabella del database del report e non al visualizzatore?
tipo: mioreport.Database.Tables(0).ApplyLogOnInfo(Cred);
io di solito faccio cosi il visualizzatore non lo tocco mai...
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 21 mag 2004 - 10:14
Provato...non mi da nessun errore, ma all'apertura del crystal report viewer mi ricompare l'odiatissima quanto inutile form con le richieste del server, database, ecc...
Nb..inserendo un breakpoint prima del comando noto che "Cred" è riempita correttamente, e anche dopo il comando l'assegnamento è giunto a buon termine..i dati sono presenti..
:(
Ma è cosi complesso fare un report? ^_^
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 21 mag 2004 - 11:42
Attenzione..ho provato a crearmi una table da software(senza collegarmi al dataset),e ho assegnato la mia table al report (Rpt.SetDataSource(TblRep) )...
mentre nel mio file .rpt ci sono ancora i riferimenti e i campi della tabella su database sql...
E mi compare ancora il fatidico form dove chiede le info x la tabella su database..allora mi chiedo...e se il form dipendesse dal mio file .rpt, e non dal mio binding nel programma?
Ripeto, nella progettazione del report .rpt con l'opzione "Database->Verifica database" il risultato è "Database Aggiornato", ma sono sempre + sicuro che si trovi qui il problema..
..ma non ho idee..:(
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 21 mag 2004 - 15:11
RISOLTO!!!!
Dopo 2 ore di CRANIATE sul monitor ce l'ho fatta...non gli passo la tabella ma l'intero dataset..ho notato anche piccoli bug in crystal report x vb.net ^_^..
cmq mi sento meglio...grazie a tutti..
Torna su
Stanze Forum
Elenco Threads
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 !