SSRS [BC30277] - 字符类型“&”与声明的类型不一致 'String'

SSRS [BC30277] - Character type '&' does not coincide declared type 'String'

我在 Reporting Services 16 中有这个表达式,return 错误如下:

="--> " & SUM(Fields!entrace_money_value.Value) 
& Microsoft.VisualBasic.Constants.vbcrlf 
& "<-- " & SUM(Fields!exit_money_value.Value)

[rsCompilerErrorInExpression] The Value expression for the textrun ‘Textbox8.Paragraphs[0].TextRuns[0]’ contains an error: [BC30277] Znak typu & neodpovídá deklarovanému datovému typu String. --in Czech

如有任何帮助,我们将不胜感激。

我看不懂捷克语,但我犯这个错误的次数已经够多了,所以我知道了这个问题。

这样试试:

"--> " + CStr(SUM(Fields!entrace_money_value.Value))

SSRS 抱怨您正在尝试将 int 和 string 相加,但它不知道该怎么做。使用 CStr 函数将整数转换为字符串。我还使用“+”运算符进行此类操作...

我有一个非常相似的表达式并得到相同的错误代码,尽管错误消息提到 Object 而不是 String:

[BC30277] Type character '&' does not match declared data type 'Object'

对我来说,问题不在于我将字符串和整数组合在一起(这对我来说很好,不需要像其他答案那样进行手动转换)。问题是表达式编辑器看不到换行符为 whitespace.

"-->"
 & Fields!test.Value
& "<--"

在上面的示例中,表达式被读取为一行:

"-->" & Fields!test.Value& "<--"

这失败了,因为 Fields!test.Value& 是无效语法。

在下一行的开头添加 space 个字符(因为它们很容易在行尾遗漏)修复了这个问题:

"-->" 
 & Fields!test.Value
 & "<--"