ciao,
quando apri un report dentro all'applicazione, i percorsi del db con cui è stato progettato il report solitamente non sono gli stessi (ad esempio hai fatto il report puntando ad un db temporaneo, quando distribuisci invece, il path del db è quello reale).
Allora il report per funzionare ha bisogno di sapere i nuovi parametri e te li chiede se non glieli passi tu da codice (oppure gli passi direttamente il set di dati da visualizzare, allora non servono le informazioni del database).
Hai 2 modi quindi di visualizzare i dati di un report, o gli dici i nuovi parametri di connessione:
...
Dim mioreport as new ReportDocument()
mioreport.Load("c:\...\mioreport.rpt")
Dim logOnInfo As New TableLogOnInfo
logOnInfo = mioreport.Database.Tables.Item("Tabella").LogOnInfo
logOnInfo.ConnectionInfo.ServerName = "SERVER"
logOnInfo.ConnectionInfo.DatabaseName = "miodb"
logOnInfo.ConnectionInfo.UserID = "User"
logOnInfo.ConnectionInfo.Password = "pwd"
logOnInfo.TableName = "miaTabellaDelDatabase"
mioreport.Database.Tables(0).ApplyLogOnInfo(logOnInfo)
CrystalReportViewer1.ReportSource = mioreport
...
o glieli passi con il metodo "setDataSource":
Dim tabella as new DataTable()
...riempi i dati nella tabella...
Dim mioreport as new ReportDocument()
mioreport.Load("c:\...\mioreport.rpt")
mioreport.SetDataSource (tabella)
CrystalReportViewer1.ReportSource = mioreport
...
usando uno di questi 2 modi, quello che preferisci tu, il report all'apertura nella tua applicazione, non ti richiedera' piu' nessuna infor di Logon.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo