Datetime 在SSRS表达式中设置小时/分钟的格式
我试图通过SSRS中的表达式将两个单独的日期/时间字段合并到一个文本框中 我的表达是:Datetime 在SSRS表达式中设置小时/分钟的格式,datetime,reporting-services,ssrs-2008,Datetime,Reporting Services,Ssrs 2008,我试图通过SSRS中的表达式将两个单独的日期/时间字段合并到一个文本框中 我的表达是: =Format(Fields!EarlyShiftStart.Value,"hh:mm tt") & "-" & Format(Fields!LateShiftEnd.Value,"hh:mm tt") 报告中似乎是正确的: 但在预览报告时,我收到了一个警告: 警告1[rsRuntimeErrorInExpression]指定的值表达式 textrun“Textbox49.段落[0].Te
=Format(Fields!EarlyShiftStart.Value,"hh:mm tt") & "-" & Format(Fields!LateShiftEnd.Value,"hh:mm tt")
报告中似乎是正确的:
但在预览报告时,我收到了一个警告:
警告1[rsRuntimeErrorInExpression]指定的值表达式
textrun“Textbox49.段落[0].TextRuns[0]”包含错误:输入
字符串的格式不正确
不确定为什么会出现此警告,因为它看起来是正确的。想法?我不确定,但似乎从数据库中获取了错误的输入字符串。我最好的猜测是,在您的案例中发生这种情况有两个原因
1) 数据中的某些位置可能会显示
null
值。
如果您想避免警告,我建议您使用以下表达式:
=Format(IIF(IsNothing(Fields!EarlyShiftStart.Value),"00:00",Fields!EarlyShiftStart.Value),"hh:mm tt") & "-" & Format(IIF(IsNothing(Fields!LateShiftEnd.Value),"00:00",Fields!LateShiftEnd.Value),"hh:mm tt")
=CStr(Format(Fields!EarlyShiftStart.Value,"hh:mm tt")) & "-" & CStr(Format(Fields!LateShiftEnd.Value,"hh:mm tt"))
这将过滤掉传入的NULL
值
2) 您将这两个值与-
连接,这可能是您将这两个值格式化为时间
,然后与字符串
值连接的原因。所以试着把你的表情改成
=Format(IIF(IsNothing(Fields!EarlyShiftStart.Value),"00:00",Fields!EarlyShiftStart.Value),"hh:mm tt") & "-" & Format(IIF(IsNothing(Fields!LateShiftEnd.Value),"00:00",Fields!LateShiftEnd.Value),"hh:mm tt")
=CStr(Format(Fields!EarlyShiftStart.Value,"hh:mm tt")) & "-" & CStr(Format(Fields!LateShiftEnd.Value,"hh:mm tt"))
这将强制将您的时间值转换为字符串,然后转换它们
如果所有值的格式都正确,我还建议您查看传入值。因此,您可以相应地更改表达式。谢谢,编码员。我使用的是第二种解决方案,因为字段中不应出现空值。再次感谢!