Ms access VBA嵌套if查询

Ms access VBA嵌套if查询,ms-access,vba,Ms Access,Vba,我试图在VBA中编写嵌套的if语句。在cobol中,我通常使用evaluate子句。但是为了避免长循环,我应该在VBA中使用什么呢 例如 if cmbfield = "green" then me.frame1.enable = true else me.frame2.enable = false me.frame3.enable = false end if if cmbfield = "red" then me.frame2.enable = true else me.frame1

我试图在VBA中编写嵌套的if语句。在cobol中,我通常使用evaluate子句。但是为了避免长循环,我应该在VBA中使用什么呢

例如

if cmbfield = "green" then
 me.frame1.enable = true
else
 me.frame2.enable = false
 me.frame3.enable = false
end if
if cmbfield = "red" then
 me.frame2.enable = true
else
 me.frame1.enable = false
 me.frame3.enable = false
end if
if cmbfield = "white" then
 me.frame3.enable = true
else
 me.frame1.enable = false
 me.frame2.enable = false
end if

在您给出的示例中,我将使用switch命令:

如果。。。如果。。。如果结束


在您给出的示例中,我将使用switch命令:

如果。。。如果。。。如果结束

这是编写相同代码的较短方法。应采用模语法;希望这有帮助

这是编写相同代码的较短方法。应采用模语法;希望这有帮助。

我这样做:

Me.frame1.enabled = (cmbfield = "green")
Me.frame2.enabled = (cmbfield = "red")
Me.frame3.enabled = (cmbfield = "white")
我是这样做的:

Me.frame1.enabled = (cmbfield = "green")
Me.frame2.enabled = (cmbfield = "red")
Me.frame3.enabled = (cmbfield = "white")

这似乎相当于选择案例。回答得很好。非常感谢您提供的select case语法。将在未来的工作中纳入。这似乎相当于一个精选案例。回答得很好。非常感谢您提供的select case语法。将在未来的工作中纳入这一点。
Dim isGreen as Boolean, isRed as Boolean, isWhite as Boolean
isGreen = (cmbfield = "green")
isRed = (cmbfield = "red")
isWhite = (cmbfield = "white")

me.frame1.enabled = isGreen
me.frame2.enabled = isRed
me.frame3.enabled = isWhite
Me.frame1.enabled = (cmbfield = "green")
Me.frame2.enabled = (cmbfield = "red")
Me.frame3.enabled = (cmbfield = "white")