Report Builder 3.0 でカスタム関数を作成しようとしています。この関数は基本的に複数値パラメーター (1、2、または 3) の値をチェックし、"Bronze" (1)、"Silver" ( 2) または "ゴールド" (3) 各行の最高値に応じて。そう...
Public Function BronzeSilverGold() As String
Dim bronzeFlag As Integer = 0
Dim silverFlag As Integer = 0
Dim goldFlag As Integer = 0
Dim numPledges As Integer = Report.Parameters!PledgeValues.Count()
For index As Integer = 1 To numPledges
If Report.Parameters!PledgeValues.Value(index) = 1 Then
bronzeFlag += 1
ElseIf Report.Parameters!PledgeValues.Value(index) = 2 Then
bronzeFlag += 1
silverFlag += 1
ElseIf Report.Parameters!PledgeValues.Value(index) = 3 Then
bronzeFlag += 1
silverFlag += 1
goldFlag += 1
End If
Next index
If goldFlag = numPledges Then
Return "Gold"
ElseIf silverFlag = numPledges Then
Return "Silver"
ElseIf bronzeFlag = numPledges Then
Return "Bronze"
End If
End Function
私を悩ませているのは、レポートを実行するとセルが #Error を返すことです。問題は、具体的には「Report.Parameters!PledgeValues.Value(index)」にあるようです。これを実行すると:
Public Function BronzeSilverGold() As String
Dim bronzeFlag As Integer = 0
Dim numPledges As Integer = Report.Parameters!PledgeValues.Count()
Dim index as Integer = 0
For index = 1 To numPledges
If (Report.Parameters!PledgeValues.Value(1) = 2) Then
bronzeFlag += 1
End If
Next index
return bronzeFlag
End Function
その後、正常に値 8 が返されます (パラメーターの最初の値が 2 であるため)。7 行目を Report.Parameters!PledgeValues.Value(1) から Report.Parameters!PledgeValues.Value(index) に変更すると、レポートのセルは #Error を返します
私が何を間違っているのかわかりません-誰かが何か考えを持っているなら、彼らは大歓迎です。