мой код, как показано, и я получаю эту ошибку «Оставшийся текст не является частью формулы»> - PullRequest
0 голосов
/ 02 июля 2018

Защищенная страница 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 голосов
/ 02 июля 2018

У меня нет Visual Studio на этом компьютере для полного тестирования, но я думаю, что ваш синтаксис отключен в вашей формуле выбора записей.

Попробуйте вместо этого:

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

Синтаксис between/and, который вы использовали, не поддерживается в Crystal Reports для оценки даты так, как вы хотите. Поддерживаемый синтаксис: {eval_date} IN {start_Date} to {end_Date}.

Вы также можете столкнуться с проблемой, когда ваши поля date_from и date_to являются строковыми типами данных вместо типа данных Date или DateTime. Если это проблема, вам нужно передать значения через функцию, чтобы правильно преобразовать их в даты.

Что-то вроде этого должно быть достаточно:

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

Если вам требуется DateTime вместо типов данных Date, замените функции Date() функциями DateTime().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...