首页 > 解决方案 > 检查时间范围内的时间变量

问题描述

有没有办法检查时间是否在 Crystal Report 中的持续时间之间?我们的应用程序有一个名为 StopTime 的字段,但以整数格式存储。午夜的值为 0,凌晨 1 点的值为 60,...,中午 12x60= 720。

我需要创建一个时间类型的输入参数,它允许一个范围值,以便用户可以选择查看一天中某个时间段内的记录。

在此处输入图像描述

我的问题是如何再次检查记录选择公式中的输入参数字段的值?我努力了

cast({StopTime}/60 as time) in {?TimeDuration} 

但我收到错误“公式中有错误。还是要保存吗?”</p>

我也试过

{StopTime}/60 in {?TimeDuration} 

并且仍然得到错误。

解决此错误的唯一方法是将参数 TimeDuration 声明为接受范围的 Number。但是,如果可能,最好使用 Time 类型,因为我可以预见到用户在实际需要时间范围时会出现数字范围的问题。

标签: crystal-reports-xi

解决方案


您的字段 {StopTime} 是一个代表分钟数的数字,因此必须转换为时间。在 Crystal 语法中,这是使用 CTime 函数实现的,该函数接受一个以天为单位的数字参数。因此,您必须将分钟数除以 1440 才能得到天数。以下将做你需要的。

ctime({StopTime}/1440) in {?TimeDuration}

推荐阅读