SSRS 表达式中的格式 Hours/Minutes
Format Hours/Minutes in SSRS Expression
我试图通过 SSRS 中的表达式将两个单独的 date/time 字段合并到一个文本框中。
我的表情是:
=Format(Fields!EarlyShiftStart.Value,"hh:mm tt") & "-" & Format(Fields!LateShiftEnd.Value,"hh:mm tt")
而且在报告中看起来是正确的:
但我在预览报告时收到警告:
Warning 1 [rsRuntimeErrorInExpression] The Value expression for the
textrun ‘Textbox49.Paragraphs[0].TextRuns[0]’ contains an error: Input
string was not in a correct format
不确定为什么会出现此警告,因为它看起来是正确的。想法?
我不确定,但似乎从数据库中获取了错误的输入字符串。我最好的猜测是,您的情况发生这种情况有 2 个原因
1) 数据中的某些位置可能会显示 null
值。
如果您想避免警告,我建议您使用表达式 as,
=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")
这将过滤掉传入的 NULL
值。
2) 您将两个值与 -
连接起来,这可能是您将两个值格式化为 Time
然后与 string
值连接的原因。所以试着改变你的表达方式,
=CStr(Format(Fields!EarlyShiftStart.Value,"hh:mm tt")) & "-" & CStr(Format(Fields!LateShiftEnd.Value,"hh:mm tt"))
这将强制将您的时间值转换为字符串,然后将它们连接起来。
如果所有值的格式都正确,我还建议您查看传入的值。所以你可以相应地改变你的表情。
我试图通过 SSRS 中的表达式将两个单独的 date/time 字段合并到一个文本框中。
我的表情是:
=Format(Fields!EarlyShiftStart.Value,"hh:mm tt") & "-" & Format(Fields!LateShiftEnd.Value,"hh:mm tt")
而且在报告中看起来是正确的:
但我在预览报告时收到警告:
Warning 1 [rsRuntimeErrorInExpression] The Value expression for the textrun ‘Textbox49.Paragraphs[0].TextRuns[0]’ contains an error: Input string was not in a correct format
不确定为什么会出现此警告,因为它看起来是正确的。想法?
我不确定,但似乎从数据库中获取了错误的输入字符串。我最好的猜测是,您的情况发生这种情况有 2 个原因
1) 数据中的某些位置可能会显示 null
值。
如果您想避免警告,我建议您使用表达式 as,
=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")
这将过滤掉传入的 NULL
值。
2) 您将两个值与 -
连接起来,这可能是您将两个值格式化为 Time
然后与 string
值连接的原因。所以试着改变你的表达方式,
=CStr(Format(Fields!EarlyShiftStart.Value,"hh:mm tt")) & "-" & CStr(Format(Fields!LateShiftEnd.Value,"hh:mm tt"))
这将强制将您的时间值转换为字符串,然后将它们连接起来。
如果所有值的格式都正确,我还建议您查看传入的值。所以你可以相应地改变你的表情。