【问题标题】:Adding SqlCommand date range parameters to Crystal Report将 SqlCommand 日期范围参数添加到 Crystal Report
【发布时间】:2023-03-28 19:46:01
【问题描述】:

我正在创建一个涉及 Crystal Reports 的 VB.NET 项目。我使用以下 SQL 命令创建报告:

If (limitByDate) Then
        dateClause = " (([Submit Time]>= '" & DateTimeToSqlTime(beginDate) & "') And ([Submit Time]<= '" & DateTimeToSqlTime(endDate) & "'))"
End If

sqlAdapter.SelectCommand = New SqlCommand("SELECT * FROM [Submission Transactions] WHERE " & dateClause & " ORDER BY [Submit Time] DESC", ServerDB.getConn)

我需要在 Crystal Report 上显示 beginDate 和 endDate。我不想使用 Crystal Reports 内置的日期范围选择器。这些参数未显示在 Crystal Report 对话框中,并且不一定在 beginDate 或 endDate 上有条目。 IE。我不能只做最小和最大的当前条目。

有哪些选项可以在我的报告中显示这些日期?

我正在使用 .NET 4.6。可以使用 VB 或 C#。我不赞成 Crystal Reports 版本,但使用 Visual Studio 2015 的插件。

【问题讨论】:

  • 为什么不能使用最小和最大选项
  • 交易由我们的客户在他们操作我们的系统时创建。所以他们可以在 10/28 10/29 进行交易。但是,他们可能会要求从 10/27 到 10/30 提交报告。即使只有 10/28 和 10/29 有交易,我也希望显示这两个日期。
  • 创建一个日期参数真的会帮助你

标签: c# vb.net crystal-reports


【解决方案1】:

这可以通过创建一个空文本对象并在 vb.net 代码中设置其值来解决:

 Dim FObj As CrystalDecisions.CrystalReports.Engine.TextObject = rpt.ReportDefinition.ReportObjects("Text10")
        FObj.Text = beginDate.ToString

这将使用 beginDate 的字符串版本填充标记为“Text10”的文本对象。重复 endDate。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多