如何将参数的数据类型更改为仅日期

2020-09-06 16:09发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我在Crystal报表中使用了存储过程。 与存储过程日期对应的参数采用datetime格式。

是否可以将Crystal报表参数的日期时间格式更改为仅日期。 请让我知道。

此致

Simran

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我在Crystal报表中使用了存储过程。 与存储过程日期对应的参数采用datetime格式。

是否可以将Crystal报表参数的日期时间格式更改为仅日期。 请让我知道。

此致

Simran

付费偷看设置
发送
3条回答
lukcy2020
1楼 · 2020-09-06 16:35.采纳回答

嗨Simran,

您是说存储的proc带有日期提示,但是CR会将其视为datetime吗?

您要针对哪个数据库进行报告?

-Abhilash

愤怒的猪头君
2楼-- · 2020-09-06 16:44

是,日历提示中包含时间戳。

此致

Simran

Nan4612
3楼-- · 2020-09-06 16:30

在花费了无数时间之后,我想出了一个解决方案...我已经针对Oracle存储过程进行了测试,但是对于MS SQL Server来说应该可以使用 好吧。

基本上,您需要诱使Crystal Reports将参数视为日期。

以下是我针对Crystal Reports 2016支持包7(版本14.2.7.3069)编写和测试的简短说明:

  1. 创建空白报告。
  2. 添加命令
  3. 创建参数,使用SAME NAME作为存储过程的日期参数
  4. 将SQL查询设置为"从对偶中选择{?<参数名称>} <参数名称>",其中<参数名称>是您刚创建的参数的名称(例如,"选择{?STARTDATE} STARTDATE,{? ENDDATE} ENDDATE from double")。
  5. 添加存储过程
  6. 在"字段资源管理器"中,展开"数据库字段",然后展开"命令"。
  7. 将"命令"返回的字段拖到报告的某一区域(例如"页眉")。
  8. 如果Command返回了多个字段(例如,如果您有多个日期参数被欺骗),则只需将其中一个字段从Command拖到报告栏即可。
  9. 如果您不想在报告中看到此字段,请设置字段格式并将"抑制"设置为true。
  10. 保存,关闭并重新打开报告。
  11. 在"字段资源管理器"中,展开"参数字段"并确认参数"类型"仍为"日期"。

详细说明:

  1. 创建空白报告。
  2. 打开数据库专家(即从主菜单中:数据库->数据库专家…
  3. 在数据库专家中,展开将用于存储过程的数据源。
  4. 双击"添加命令"。
  5. 单击"创建..."以创建新的命令参数。
  6. 将"参数名称"设置为存储过程使用的日期参数的相同名称。
  7. 设置提示文本(可选)。
  8. 将"值类型"设置为"日期"。
  9. 设置默认值(可选)。
  10. 单击"确定"完成参数的创建。
  11. 将SQL查询设置为"从双选择{?<参数名称>} <参数名称>",其中<参数名称>是您刚刚创建的参数的名称(例如,"从双选择{?STARTDATE} STARTDATE" )。
  12. 如果您需要欺骗存储过程中有多个日期参数,请对每个参数重复执行步骤5-10,然后(在步骤11中)将每个参数作为select语句中的一列返回。
  13. 单击"确定"关闭"将命令添加到报告"对话框。
  14. 应该会弹出"输入值"对话框; 选择有效日期,然后单击确定。
  15. (此时,您应该回到"数据库专家"对话框)
  16. 在先前选择的数据源下,展开存储过程的所有者,找到要用于报表源的存储过程,然后双击该存储过程以将其添加到"选定表"中。/li>
  17. 弹出"输入值"对话框时,您会注意到它应该在询问您所定义的date参数的日期(而非日期/时间); 输入日期和其他参数的有效值,然后单击"确定"。
  18. (此时,您应该回到"数据库专家"对话框)
  19. 在"数据库专家"对话框上单击"确定"; 这不会关闭对话框,但是它将在"数据库专家"对话框中将选项卡从"数据"更改为"链接"。
  20. 如果启用了"清除链接"按钮,请单击它。
  21. 单击"确定"关闭数据库专家。
  22. 您应该看到一条消息,"您当前的链接配置包含多个起点。 请注意,通常不支持此功能。"…单击"确定"以关闭该对话框。
  23. 您可能会看到一条消息,"此报告中已使用存储过程。 请确保没有添加SQL表达式,也没有执行服务器端分组依据。"…单击"确定"以关闭该对话框。
  24. 在"字段资源管理器"中,展开"数据库字段",然后展开"命令"。
  25. 将"命令"返回的字段拖到报告的某一区域(例如"页眉")。
  26. 如果Command返回了多个字段(例如,如果您有多个日期参数被欺骗),则只需将其中一个字段从Command拖到报告栏即可。
  27. 如果你不想
  28. 在"字段资源管理器"中,展开"参数字段"。
  29. 双击创建的日期参数
  30. à您应该会看到参数的类型是Date(不是DateTime)。
  31. 保存并关闭报告
  32. 重新打开报告
  33. à确认参数的类型仍为Date(不是DateTime)
  34. 在我们有机会获得对这种方法的信任之前,建议您将所有存储过程字段(计划使用)拖到报表中并首次运行后,重新验证参数Type。 >之前,您需要花费大量时间来格式化报告。 运行报告(包含所有存储过程字段)后,保存并关闭报告,重新打开报告并确认参数Type仍为" Date"。 重新打开并检查参数"类型"后,可以继续格式化报告等。

一周热门 更多>