Crystal report

mercoledì 02 novembre 2005 - 15.26

nandonando Profilo | Senior Member

Ho fatto un progetto in locale con dei Crystal e funziona benissimo ora ho ricopiato sul server il progetto ed anch'esso funziona benissimo tranne i Crystal ma quando li carico non mi danno nessun errore in pratica mi carica la pagina in bianco.
Cosa Potrebbe essere?
grazie

freeteo Profilo | Guru

ciao,
il fatto che non ti dia nessun errore vuol dire che le librerie di runtime sono installate anche sul server quindi il tuo applicativo gira...
Ma ti facci o1paio di domande:
- pero' bisogna distinguere cosa intendi per pagina vuota, c'e' la toolbar di crystal?
- hai controllato di settare la sorgente dati del report?
- se metti 1campo testo e ci scrivi dentro lo vedi nella pagina?

se rispondi anche in ordine via via escludiamo qualche possibilita' ;-)
ciao

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

1)No non c'è la tololbar
2)Se apro il report non da programma funziona correttamente(INTENDO SEmpre sul server ma non da pagina web)
3)La terza provo e ti faccio sapere

nandonando Profilo | Senior Member

Probabilmente il rpoblema è del percorso del mio crystal.
In pratica prende il percorso del cwebcache del mio pc e non della cartella in cui si trova.

freeteo Profilo | Guru

ciao,
mi viene 1 dubbio,non è che il reportviewer sia quello della versione di visual studio invece di quello di crystal XI?
dovrebbe andare sopra installandolo ma prova a controllare che non siano di versione 9.xx... le lilbrerie di crystal (che tipicamente trovi sotto c:\programmi\file comuni\crystal decisions\manage...)


Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

é probabile
ma come faccio a carica l'altro
comunque io ho fatto le stesse identiche istallazione sia sul server che sul mio pc
solo che sul mio funziona e sul server no il codice che ho è questo:
Dim str As String

str = "SELECT * FROM VW_FATTURE_DA_INCASSARE WHERE TIPO_STATO<>'SALDATA' AND TIPO_STATO<>'Avviso annullato'"


Try
Dim myRep As New ReportDocument
Dim RepPath As String
RepPath = Server.MapPath("fatture/Fatture_da_incassare.rpt")
Dim DA As New SqlDataAdapter(str, cn)
Dim DS As New DataSet
DA.Fill(DS, "VW_FATTURE_DA_INCASSARE")
myRep.Load(RepPath)
myRep.SetDataSource(DS)
CrystalReportPartsViewer1.ReportSource = myRep

cn.Close()
Catch ex As Exception
cn.Close()
End Try

freeteo Profilo | Guru

ciao,
ti manca il :

CrystalReportPartsViewer1.DataBind();
dopo avergli settato il report source

perche altrimenti asp.net non carica i dati nei controlli, è 1comando necessareio negli oggetti che espongoni il datasource...
se lo fai ti viene mostrato? perche potrebbe essere anche 1altro problema

ciao

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

se lo metto mi da errore qanche in locale

freeteo Profilo | Guru

ciao,
scusa non avevo visto ma devi usare il crystlareport"viewer", non il "partviever" come mai usi quello?
errore o voluto?

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

no uso il crystal report view perchè quale è la differenza?

nandonando Profilo | Senior Member

ho trocato anche questo metodo:
Dim credentials As TableLogOnInfo = New TableLogOnInfo
credentials.ConnectionInfo.DatabaseName = "SCECES"
credentials.ConnectionInfo.UserID = "sa"
credentials.ConnectionInfo.Password = "miapass"
credentials.ConnectionInfo.ServerName = "151.1.141.242"
credentials.TableName = "SELECT * FROM VW_FATTURE_DA_INCASSARE WHERE id_amministratore=1 and TIPO_STATO<>'SALDATA' AND TIPO_STATO<>'Avviso annullato'"
CrystalReportViewer1.LogOnInfo.Add(credentials)
CrystalReportViewer1.ReportSource = Server.MapPath("fatture/Fatture_da_incassare.rpt")

l'unico problema è che la query è come se non la prendesse in considerazione
dove sbaglio?


freeteo Profilo | Guru

ciao,
il problema sta nel fatto che tu dai il report diretto a CrystalReportViewer1.ReportSource poercui non fai filtri sui dati che lui deve caricare.
Per fare filtri hai 2 strade:

- filtri usando la "ReportSelectionFormula" (tasto dx-> report -> modifica formula di selezione -> rercord) inpostandola da codice con: miooggettoreport.database.recordselectionformula = "{miodb.miocalmpo} = '....'"

- usi 1 datatable di ado.net e gli schiaffi dentro i dati con 1a query e poi lo dai come datasource dell'oggetto report con :miooggettoreport.database.setdatasource(miatabella)
ps: la tabella deve avere la stessa struttura che hai costruito il report xke va per indice di campo

altrimenti lui usa quello da design, sono i 2 modi per modifcare lasorgente dati...
ciao

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

ho risolto esattamente con
myRep.RecordSelectionFormula = "{VW_FATTURE_DA_INCASSARE.ID_AMMINISTRATORE} = " & ViewState("ID_AMMINISTRATORE")
ma se inserisco un'altra condizione mi prende solo quella
esempio
myRep.RecordSelectionFormula = "{VW_FATTURE_DA_INCASSARE.TIPO_STATO} <>'SALDATA'"
come posso risolvere?
grazie e scusate

freeteo Profilo | Guru

ciao
devi andare in concatenazione della stringa aggiungendo "and" per metterne 2 condizioni:
... {campo1} = "ciao" and {campo2} <> "pippo" ...

e se metti controlli con stringhe oavviamente devi metterli tra apici...

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

ok grazie mille

nandonando Profilo | Senior Member

Scusate ancora
sapete come si fa con RecordSelectionFormula un campo data is null?
scusate ancora

freeteo Profilo | Guru

isnull({db.campo}) e ritorna true o false

ciao

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

nandonando Profilo | Senior Member

mettendo isnull({campo}) mi da tutti i record con quel campo nullo giusto?

freeteo Profilo | Guru

ciao,
si devi controllare quello se vuoi ma cmq è 1a condizione booleana, deciderai tu se vuoi cosi o con il "not" etc...

Matteo Raumer
.net addicted :-)
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