检查时间范围内的时间变量

时间:2018-07-10 14:16:25

标签: crystal-reports-xi

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

我需要创建一个类型为Time的输入参数,该参数允许一个范围值,以便用户可以选择在一天中的特定时间查看记录。

enter image description here

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

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

但我收到错误消息“公式中有错误。您是否仍要保存它?”

我也尝试过

{StopTime}/60 in {?TimeDuration} 

仍然出现错误。

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

1 个答案:

答案 0 :(得分:1)

您的字段{StopTime}是代表分钟数的数字,因此必须强制转换为时间。在Crystal语法中,这是使用CTime函数实现的,该函数采用以天为单位的数字参数。因此,必须将分钟数除以1440,才能得到天数。以下将满足您的需求。

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