首页 > 解决方案 > Visual Basic 中的嵌套 IF

问题描述

我想做一个程序,“如果收入超过 30,000 并且工作超过 2 年或工作超过 5 年,并且年龄在 30 - 50 之间,将接受贷款。

但不起作用

If sngSalary > 30000 Then
    If sngAge < 50 Then
        If sngYear > 5 Then
            lblMessage.Text = "Application qualifies"
        Else
            lblMessage.Text = "Application does not qualifies"
        End If
    Else
         If sngYear >= 2 Then
            lblMessage.Text = "Application qualifies"
         Else
            lblMessage.Text = "Application does not qualifies"
         End If
    End If
Else
    If sngAge > 30 Then
         If sngYear > 5 Then
             lblMessage.Text = "Application qualifies"
         Else
             lblMessage.Text = "Application does not qualifies"
         End If
    Else
         If sngYear >= 2 Then
             lblMessage.Text = "Application qualifies"
         Else
             lblMessage.Text = "Application does not qualifies"
         End If
    End If
End If

标签: vbanested-if

解决方案


只需像您在描述中所说的那样对其进行编码:

Private Sub Test()
   If (sngSalary > 30000 And sngYear > 2) Or (sngYear > 5 And sngAge >= 30 And sngAge <= 50) Then
      lblMessage.Text = "Application qualifies"
   Else
      lblMessage.Text = "Application does not qualifies"
   End If
End Sub

推荐阅读