使用Crystal Reports 2016,数据源是SQL Server 2008 R2。我是Crystal Reports的新手。现在,如果我有一个结束时间和一个长度,我就会陷入需要计算开始时间的问题。在数据库中是结束时间格式,以及数字格式的长度。这个数字是活动的时间长度(想想,会议的记录方式),以分钟为单位。我需要从时间值中减去长度,但遇到类型不匹配,似乎无法正常转换。
我尝试使用TimeValue()
将数字转换为时间值,但是Formula Workshop表示存在错误,并且应该有一个数字代替{CRV_UsageLog.Data5}
。我不确定我是否有逻辑问题或语法问题。这就是我想要做的事情:
ShiftDateTime ({CRV_UsageLog.LogTimeStamp} - TimeValue(0,{CRV_UsageLog.Data5},0), "GMT,0,GMT" ,"" )
CRV_UsageLog.LogTimeStamp
是时间字段,CRV_UsageLog.Data5
是表示分钟的值。我想从前者中减去后者以获取开始时间,以便我可以在报告中显示开始时间。
我是否需要以某种方式封装或转义CRV_UsageLog.Data5
?我需要不同的功能吗?
时间如下:2016-06-22 13:21:21.247
数字如下:21
我希望我的计算值看起来像这样:2016-06-22 13:00:21.247
答案 0 :(得分:0)
这就是我做的事情,作为一个公式:
ShiftDateTime(DateAdd("n", -{CRV_UsageLog.Data5}, {CRV_UsageLog.LogTimeStamp}), "GMT,0,GMT" ,"" )