0

我编写了一个函数,它返回通过 SSRS 输入的 8 个数值的最小值。

问题是并不总是有 8 个值,如果没有,我会在 SSRS 中收到错误消息。我认为这是因为我正在为函数提供空值

我从不使用VB,有没有人可以告诉我一个解决方法?

使用的代码如下在此处输入代码

Function minimumReading(reading0 as String
                        ,reading1 as String 
                        ,reading2 as String
                         ...    7 as String)

Dim     a(7) as String
        a(0) = reading0
        a(1) = reading1
        ...
        a(7) = reading7
Dim max as string
    Dim min as string

max = a(3)
min = a(3)

Dim i as integer

for i = Lbound(a) to Ubound(a)
    if a(i) < min Then min = a(i)
next i

minimumReading =  min

End Function` 

提前致谢

4

1 回答 1

2

您是否需要将 8 个值作为单独的参数传递?创建一个找到数组最小值的函数(可能已经存在)会是更好的形式(也更容易长期维护)

如果您必须按照您的设置方式拥有它,您可以使用它

Dim a() As String
ReDim a(0 To 0)
Dim i As Long
If reading0 <> vbNullString Then
    a(UBound(a)) = reading0
End If
If reading1 <> vbNullString Then
    ReDim Preserve a(LBound(a) To (UBound(a) + 1))
    a(UBound(a)) = reading1
End If
If reading2 <> vbNullString Then
    ReDim Preserve a(LBound(a) To (UBound(a) + 1))
    a(UBound(a)) = reading2
End If
...

同样,我的建议是重组您的代码。

于 2013-06-18T16:40:24.243 回答