我的代码如下所示,并且出现此错误:“其余文本似乎不是公式的一部分“>

时间:2018-07-02 13:36:45

标签: asp.net vb.net crystal-reports

受保护的子Page_Load(ByVal发送者作为对象,ByVal e作为System.EventArgs)处理Me.Load

    reportdoc1.Load(Server.MapPath("~\RepVoucherchq.rpt"))
    CrystalReportViewer1.ReportSource = reportdoc1
    ConnectionInfo()

    Dim user_brno As String = CType(Session("userBrn"), String)
    Dim date_from As String = CType(Session("date_from"), String)
    Dim date_to As String = CType(Session("date_to"), String)

    reportdoc1.RecordSelectionFormula = "{VEWVoucherchq.vocdate} between '" + date_from + "' and '" + date_to + "'  and {VEWVoucherchq.chqbrNo} = " + user_brno
    CrystalReportViewer1.RefreshReport()

End Sub

1 个答案:

答案 0 :(得分:0)

我在这台计算机上没有Visual Studio来完全测试它,但是我认为您的记录选择公式中的语法已关闭。

尝试以下方法:

reportdoc1.RecordSelectionFormula = "{VEWVoucherchq.vocdate} in '" + date_from + "' to '" + date_to + "' and {VEWVoucherchq.chqbrNo} = " + user_brno

Crystal Reports不支持您使用的between/and语法以所需的方式评估日期。支持的语法为{eval_date} IN {start_Date} to {end_Date}

您还可能遇到date_fromdate_to字段为字符串数据类型而不是Date或DateTime数据类型的问题。如果这是一个问题,您将需要通过一个函数传递值以将它们正确地转换为日期。

这样的事情就足够了:

reportdoc1.RecordSelectionFormula = "{VEWVoucherchq.vocdate} in Date('" + date_from + "') to Date('" + date_to + "') and {VEWVoucherchq.chqbrNo} = " + user_brno

如果需要DateTime而不是Date数据类型,请用Date()函数替换DateTime()函数。