2017-04-06 10 views
0

私は現在Crystal Reports XIとVB studio 2005を使用しています。問題をwinform経由でレポートに渡す際に問題が発生しています。以下は私のコードです:私は報告書を呼び出す私の印刷報告書でCrystal Reports:winform VB.Net経由のパラメータの受け渡し

Public Sub DisplayReport(ByVal formTitle As String) 
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo() 
myConnectionInfo.UserID = "" 
myConnectionInfo.Password = "" 

SetDBLogonForReport(myConnectionInfo, rptDoc) 

Me.Text = formTitle 

CrystalReportViewer1.ReportSource = rptDoc 
CrystalReportViewer1.RefreshReport() 
End Sub 

Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument) 
    Dim myTables As Tables = myReportDocument.Database.Tables 
    For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables 
     Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo 
     myTableLogonInfo.ConnectionInfo = myConnectionInfo 
     myTable.ApplyLogOnInfo(myTableLogonInfo) 
    Next 
End Sub 

Private Sub ConfigureCrystalReport(ByVal btnPrint As Boolean) 
    Dim myRptView As New frmReportView 
    Dim rptFile As String = "" 
    Dim strSelFormula As String = "" 

    'getting report path dynamically 
    Dim rptPath1 As New getAppDBSettingsBLL 
    rptPath1 = New getAppDBSettingsBLL 
    Dim rptPath As String = rptPath1.getReportPath(4) 
    rptFile = rptPath & "\" & "XXX.rpt" 

    myRptView = New frmReportView 
    rptDoc.Load(rptFile) 


    myRptView.DisplayReport(Me.Text) 

    rptDoc.SetParameterValue("@dateA", Format(Me.DateTimePicker1.Value.Date, "mm/dd/yyyy")) 

    myRptView.Show() 

    myRptView.CrystalReportViewer1.Dock = DockStyle.Fill 
    myRptView.WindowState = FormWindowState.Maximized 

End Sub 

を私はからデータを引っ張っています結晶制御が常駐私のレポート形式で

レポートに使用するパラメータに基づく結合SQL文。 SQLステートメントが正しく、渡された値が正しい。しかし、パラメータのプロンプトボックスが表示されたままにして、私はそれを抑制したい。プロンプトボックスにパラメータを入力すると、レポートが正しく表示されました。ここで何が間違っていますか?

答えて

0

パラメータ"@dateA"のこのタイプは、Stored Procedure

のためのものであり、パラメータ"dateA"のこのタイプは、CRパラメータを作っている場合、パラメータは、で始まる必要があり、Crystal Parameterから通常の呼び出しのために自身が

0

まずあり"@"ではなく "?"

Dim param1Fields As New ParameterFields 
Dim param1Field As New ParameterField 
Dim param1Range As New ParameterDiscreteValue 

param1Field.ParameterFieldName = "Write your parameter name" 
param1Range.Value = <provide your parameter value> 
param1Field.CurrentValues.Add(param1Range) 
param1Fields.Add(param1Field) 
CrystalReportViewer1.ParameterFieldInfo = param1Fields 

第二に、パラメータボックスのポップアップ続ける、何を行うことができますが、あなたのクリスタルレポートビューアフォームのページのロードにあり、これを貼り付け

関連する問題