我在SQL Server中有一个包含逗号分隔列表的字段。这里有两个例子:
select 'ex1,ex2,ex3' as str union all
select 'ax1,ax2'
在我的报告中,我必须使用一个函数来转换所有这些值(本例中为5)。在这个问题中,我将使用Trim,但实际上,我们正在使用另一个具有相同作用域的定制函数。
我知道如何从字符串中拆分每个值并重新组合它们:
=Join(Split(Fields!str.Value,","),", ")
这很好。但是,我需要在重新组合值之前执行一个函数。我认为这会起作用:
=Join( Trim(Split(Fields!VRN.Value,",")) ,", ")
但是,这只是给我一个错误:
“字符串的一维数组”类型的值不能转换为“字符串”。 (rsCompilerErrorInExpression)
我不能亲自更改我们使用的功能。
在处理拆分和联接时如何使用额外的功能?
答案 0 :(得分:1)
您可以使用自定义代码包括所有逻辑(拆分->自定义代码->加入)。
在循环内进行调整以调用自定义函数,而不是修剪
Public Function fixString (ByVal s As String) As String
Dim mystring() As String
mystring = s.Split(",")
For index As Integer = 0 To mystring.Length-1
mystring(index) = Trim(mystring(index))
Next
Return Join(mystring, ",")
End Function
要调用自定义代码,请使用以下表达式
Code.fixString( Fields!VRN.Value )