2016-07-13 8 views
0

geöffnet ist, verwende ich VB.net 2010 und Crystal Report XI. Ich möchte den Bericht in einem Bericht-Viewer laden, aber wenn ich die RPT-Datei in Crystal Reports-Designer öffnen, gibt der Bericht-Viewer in Vb.net Fehler: Ladebericht fehlgeschlagen.VB.net Fehler (Load Report Failed) Wenn RPT-Datei in Crystal Reports-Designer

Aber wenn ich die Crystal Report-Software schließe oder einfach die Rpt-Datei von der Crystal Reports-Software schließe, dann kann der Report Viewer gut laufen. Muss ich Crystal Reports wirklich jedes Mal schließen, wenn ich die RPT-Datei über die Berichtsanzeige in vb.net öffnen möchte?

Bei gebraucht zu werden, dies ist mein Code:

Dim Report As New ReportDocument 
    Dim Report1 As New ReportDocument 
    Dim li As New TableLogOnInfo 
    Dim tbs As Tables 
    Dim tb As Table 
    Try 
     Report.Load(reportLocation & filename) 

     li.ConnectionInfo.DatabaseName = dbname 
     li.ConnectionInfo.UserID = userid 
     li.ConnectionInfo.Password = password 
     li.ConnectionInfo.ServerName = servername 

     tbs = Report.Database.Tables 
     For Each tb In Report.Database.Tables 
      tb.ApplyLogOnInfo(li) 
     Next 

     Report.RecordSelectionFormula += IIf(Report.RecordSelectionFormula <> "", " and ", "") & formula 
     Report.Refresh() 
     Report.SetParameterValue(0, param(0)) 
     Report.SetParameterValue(1, param(1)) 
     Report.SetParameterValue(2, param(2)) 
     If param(3) <> "" Then Report.SetParameterValue(3, param(3)) 

     crV.ReportSource = Report 
     crV.Show() 
    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 

Bei gebeten, verwende ich Windows 10 und SQL Server 2008 R2 SP2.

Antwort

0

entschied ich mich zurück zu Windows 7, und in Win 7 i eines dieser Probleme nicht bekommen zu bewegen. Vielleicht ist es mehr wie Kompatibilitätsproblem oder etwas. Also ich denke, Fall geschlossen.

0

Überprüfen Sie Ihren Berichtspfad; das ist Dein Problem. Das System kann nicht finden, dass der Bericht existiert.

Diese speziell:

<pre> 
    Report.Load(reportLocation & filename) 



    check it using string variable like this; 
    string getpath = reportLocation & filename; 

    just check it if its location is the same by checking getpath variable 



    secondly: crystal report need to login to your working database thats why it says load report failed. 




    if this one working well then you dont have any problem regarding the  crystal report path: 

    tbs = Report.Database.Tables 
    For Each tb In Report.Database.Tables 
     tb.ApplyLogOnInfo(li) 
    Next 

</pre> 
+0

Ich habe Doppelprüfung, Dreifachprüfung und mehr als Mehrfachprüfung, der Bericht existiert in diesem Pfad. –

+0

Ich bin sicher, dass die Deklaration Methode nicht für vb.net ist, weil es Fehler gibt, aber ich habe einen anderen Weg mit sofortiger Prüfung, und ich bin sicher, das Ergebnis ist genau das gleiche wie wo die Berichtsdatei platziert. –