【问题标题】:Unable to display correct data using date in crystal report无法在水晶报表中使用日期显示正确的数据
【发布时间】:2012-12-13 09:41:31
【问题描述】:

我编写了代码来使用水晶报表显示数据。我已经设置了参数字段,但它似乎运行不正常。这是一个例子:

数据库

   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})

【问题讨论】:

  • eDate的数据类型是什么?
  • 我使用日期/时间。使用 ms 访问
  • 当您在 CR 中运行报告时,它是否正常工作?

标签: vb.net ms-access crystal-reports


【解决方案1】:

我会按这个顺序尝试:

  1. 将选择标准更改为{1BK.edate} = ({?fromDate} to {?toDate})
  2. 将选择标准更改为{1BK.edate} >= {?fromDate} and {1BK.edate} <= {?toDate}
  3. 将选择标准更改为 {1BK.edate} >= '#' + {?fromDate} + '#' and {1BK.edate} <= '#' + {?toDate} + '#'(确保你的参数是这个字符串 实例

【讨论】:

    【解决方案2】:

    当水晶报表中的参数字段更改为时起作用

    日期

    那么条件是

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      相关资源
      最近更新 更多