老师,下面的字符串如果包括三项还好写代码,如果有五项,排列组合120个,不知如何理顺这个逻辑关系,该如何简化代码?谢谢! Dim str As String = r("体检项目")
If str.Contains("内科") And str.Contains("外科") = False And str.Contains("神经系统") = False Then
If r("内科_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
ElseIf str.Contains("内科") And str.Contains("外科") And str.Contains("神经系统") = False Then
If r("外科_确认检查") = False Or r("内科_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
ElseIf str.Contains("内科") And str.Contains("外科") And str.Contains("神经系统") Then
If r("神经系统_确认检查") = False Or r("外科_确认检查") = False Or r("内科_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
ElseIf str.Contains("内科") = False And str.Contains("外科") And str.Contains("神经系统") Then
If r("外科_确认检查") = False Or r("内科_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
ElseIf str.Contains("内科") = False And str.Contains("外科") = False And str.Contains("神经系统") Then
If r("神经系统_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
ElseIf str.Contains("内科") = False And str.Contains("外科") And str.Contains("神经系统") = False Then
If r("外科_确认检查") = False Then
lb2.Text = "内外科未检"
lb2.ForeColor = Color.red
Else
lb2.Text = "内外科已检"
lb2.ForeColor = Color.blue
End If
End If
str.Contains("鼻及咽部") str.Contains("眼科") str.Contains("口腔科") str.Contains("耳科") str.Contains("耳科")
r("鼻咽部_确认检查") = False r("耳部_确认检查") = False r("口腔_确认检查") = False r("眼部_确认检查") = False r("神经系统_确认检查") = False
lb6.Text = "五官未检"
lb6.ForeColor = Color.red
Else
lb6.Text = "五官已检"
lb6.ForeColor = Color.blue
End If