Visual Basic - 使用 OrElse 在 IIF 中嵌套 IF

Visual Basic - Nested IF in IIF with OrElse

我在 Visual Basic 中有一个来自 SQL Report Builder 的表达式,我正在尝试修改。我正在加快所有事情的速度 SQL 因为这对我来说是全新的,而且我仍在学习正确的结构和语法。

我想做的是修改表达式以从 DonationAmount 获取输出并查看它是否 >= 到 10,如果它 <10 那么我想要填充“10”而不是较小的数量。这是代码:

=Iif(
    Fields!ndpPP.Value = 1,
    "",
    Iif(
        Fields!IsCP.Value = 1,
        "Text 1 " & Iif(
            Fields!IsS.Value OrElse 
            Fields!IsProbation.Value OrElse 
            Fields!UnfilteredRateTypeID.Value = 9  
            OrElse Fields!UnfilteredRateTypeID.Value = 10, 
            "",
            " " & Format(Fields!DonationAmount.Value, "C0") & ""
        ) & " Text 3",
        "Text 2 " & Iif(
            Fields!IsS.Value OrElse 
            Fields!IsProbation.Value OrElse
            Fields!UnfilteredRateTypeID.Value = 9 OrElse
            Fields!UnfilteredRateTypeID.Value = 10,
            "",
            " " & Format(Fields!DonationAmount.Value, "C0") & ""
        ) & " Text 4"
    )
)

这应该有效(一旦将其整合到表达式的其余部分)

Iif(Fields!DonationAmount.Value < 10, 10, Fields!DonationAmount.Value)

您可以修改

的输出
Format(Fields!DonationAmount.Value, "C0") 

类似于

Format(math.Max(Fields!DonationAmount.Value, 10), "C0") 

这将打印值或 10,以较大者为准