1

Crystal レポートを使用してデータを表示するコードを作成しました。パラメータ フィールドを設定しましたが、うまく機能していないようです。次に例を示します。

データベース

   1/12/2012        A
   5/12/2012        B
   9/12/2012        C
   13/12/2012       D

レポートの表示条件:
開始日 = 2012 年 1 月 12
日 終了日 = 2012 年 12 月 15 日

ここでは、データを表示するだけです13/12/2012 - Dが、

開始日 = 2012 年 1 月 12
日 終了日 = 2012 年 9 月12 日

すべてのデータが表示されます。

   1/12/2012-A
   5/12/2012-B
   9/12/2012-C
   13/12/2012-D

ここに私のvb.netコードがあります:

    Dim reader As OleDbDataReader = myCommand.ExecuteReader
    If reader.Read = True Then
        cryRpt = New ReportDocument()
        cryRpt.Load("C:\Users\user\Documents\LabSystem\LabSystem\Report\Spec.rpt")

        crParameterDiscreteValue.Value = txtDateFrom.Text
        crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
        crParameterFieldDefinition = crParameterFieldDefinitions("fromDate")
        crParameterValues = crParameterFieldDefinition.CurrentValues

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

        crParameterDiscreteValue.Value = txtDateTo.Text
        crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
        crParameterFieldDefinition = crParameterFieldDefinitions("toDate")
        crParameterValues = crParameterFieldDefinition.CurrentValues

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

        CrTables = cryRpt.Database.Tables
        Dim crTable As CrystalDecisions.CrystalReports.Engine.Table
        For Each crTable In CrTables

            crtableLogoninfo = crTable.LogOnInfo
        Next
        crtableLogoninfo.ConnectionInfo = crConnectionInfo
        crTable.ApplyLogOnInfo(crtableLogoninfo)


        CrystalReportViewer1.ReportSource = cryRpt
        CrystalReportViewer1.RefreshReport()

    Else
        MsgBox("No records exists")
    End If
    reader.Close()
Catch ex As Exception
    MsgBox("Error in select query: " + ex.Message)
End Try

クリスタルレポートの状態は次のとおりです。

{1BK.edate}=({?toDate} TO {?fromDate})
4

2 に答える 2

0

私はこの順序で試してみます:

  1. 選択基準を次のように変更します{1BK.edate} = ({?fromDate} to {?toDate})
  2. 選択基準を次のように変更します{1BK.edate} >= {?fromDate} and {1BK.edate} <= {?toDate}
  3. 選択基準を次のように変更 {1BK.edate} >= '#' + {?fromDate} + '#' and {1BK.edate} <= '#' + {?toDate} + '#'します (このインスタンスではパラメーターが文字列であることを確認してください)
于 2012-12-12T10:27:33.090 に答える
0

Crystal レポートのパラメータ フィールドを

日にち

そのときの条件は

{1BK.edate} = ({?fromDate} to {?toDate})

于 2012-12-13T01:41:31.607 に答える