2017-04-23 20 views
0

Crystal Reportが読み込まれません。Crystalレポートが読み込まれない

これは私のコードです:

Imports CrystalDecisions.CrystalReports.Engine 
Imports CrystalDecisions.Shared 

Public Class bincard 
    Private Sub bincard_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) 
     Dim cryRpt As New ReportDocument 

     cryRpt.Load(Application.StartupPath + "bincard1.rpt") 

     Dim crParameterFieldDefinitions As ParameterFieldDefinitions 
     Dim crParameterFieldDefinition As ParameterFieldDefinition 
     Dim crParameterValues As New ParameterValues 
     Dim crParameterDiscreteValue As New ParameterDiscreteValue 

     crParameterDiscreteValue.Value = TextBox1.Text 
     crParameterFieldDefinitions = 
      cryRpt.DataDefinition.ParameterFields 
     crParameterFieldDefinition = 
      crParameterFieldDefinitions.Item("itemid") 
     crParameterValues = crParameterFieldDefinition.CurrentValues 

     crParameterValues.Clear() 
     crParameterValues.Add(crParameterDiscreteValue) 
     crParameterFieldDefinition.ApplyCurrentValues(crParameterValues) 

     CrystalReportViewer1.ReportSource = cryRpt 
     CrystalReportViewer1.Refresh() 
    End Sub 
End Class 

答えて

0

変更:

cryRpt.Load(Application.StartupPath + "bincard1.rpt") 

へ:

cryRpt.Load(Application.StartupPath & "bincard1.rpt") 

が続い=出力ディレクトリをコピーし、新しい場合はコピーして、コンテンツをコンパイルするように設定デザインを報告しています。

0

から:

cryRpt.Load(Application.StartupPath + "bincard1.rpt") 

へ:

cryRpt.Load(Application.StartupPath + "\\bincard1.rpt") 
-1

cryRpt.Load()であなたのパスが間違っています。現状では、それは次のようになります:

C:\プログラムファイル\アプリケーションNamebincard1.rpt

お知らせ"Application Name""bincard1.rpt"の間にはbackslashがないかを。これにより、パスが無効になります。これは、+を使用していくつかの問題を引き起こすパスを連結するためです。

代わりに一緒にApplication.StartupPath"bincard1.rpt"に参加するPath.Combineを使用することを検討してください:

C:これはあなたのようなパスを与える

cryRpt.Load(Path.Combine(Application.StartupPath, "bincard1.rpt")) 

をbincard1.rpt \プログラムファイル\アプリケーション名\
関連する問題