IIf在IIf内部分配变量值

时间:2019-04-11 15:00:47

标签: access-vba ms-access-2010

我试图理解为什么我不能以这种方式使用IIf为变量分配值。

dim i as integer
dim j as integer

i = 1
j = 2

if i = 1 or iif(j = i, j = 10, j = 20) then
    msgbox j
end if

我知道我可以使用IIf分配这样的变量:

j = IIf(1 = 2, 5, 10)
在这种情况下

j等于10。

1 个答案:

答案 0 :(得分:1)

一种解决方法是:

Dim i As Integer
i = 1

Dim j As Integer
j = 2

Select Case i
    Case 1
        'Do nothing
    Case j
        j = 10
    Case Else
        j = 20
End Select

MsgBox j