我在一个表单上有6个组合框 - 它们在一个数组中。它们被称为cboClient(0)到cboClient(5)。我在这里要做的是验证有一个值,所以
if cboclient(0)<>"" and not isnull(cboClient(0)) then
'Do this
End if
每个cbo都会填充相同的项目列表。我的目标是确保用户不能在超过1个cbo中进行相同的选择。基本上,如果他们在cboClient(0)中选择第1项,则无法在任何其他cbo中选择该项目。
我正试图找到一种方法,以便我可以尽可能少地执行此操作,我可能会这样做。但是这将是非常长的,因为我必须验证每个cbo对其他人< / p>
if cboClient(0).text <> cboClient(1).text then
msgbox "OK"
Else
msgbox "Please choose again"
End if
我试图以某种方式在循环中写它?验证每个cbo中的.text并确保没有做出两个相同的选择。有什么想法吗?
编辑: 我有6个cbo - 每个人都填充了相同的数据(比如数据编号1到10)。如果用户在cboClient(0)中选择“1”,则无法在另一个cbo中选择此项。我不一定要把它隐藏起来 - 但是一旦他们点击SAVE - 我想要有一个功能到位来运行CBO并检查他们是否多次选择了相同的项目 - 如果他们有,我想给他们一个MsgBox说“修复你的选择,你不能有两个项目”
编辑2:
也许做两个循环 - 一个在另一个循环中......
dim a as integer
dim b as integer
for a = 0 to 5
for b = 1 to 5
if cboClient(a).text <> cboclient(b).text then
'keep going
else
MsgBox "you have made the same selection"
End if
next b
next a
那样的东西?
答案 0 :(得分:1)
试试这段代码:
For i = 0 To 5
For j = 0 To 5
If i <> j And cboClient(i).Text = cboClient(j).Text Then
MsgBox "You must choose diffirent values, Please choose again"
Exit Sub
End If
Next
Next