我在一個窗體上有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對其他
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中選擇它。我不一定要將它隱藏起來 - 但是一旦他們點擊了保存 - 我想要有一個功能來運行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
類似的東西?
標籤和標題VB.NET已經是一個謊言。 VB.NET中沒有控件數組。無論如何,一旦它被選中,我會做的就是*從所有其他組合框中移除該項目。這樣,用戶不會意外地選擇它。比消息框更友好的用戶界面。是的,你可以使用循環。目前還不清楚你的實際問題是什麼。 –
我對Tag的道歉。我有6個cbo - 每個人都有相同的數據(比如數據編號1到10)。如果用戶在cboClient(0)中選擇「1」,他們不能在另一個cbo中選擇它。我不一定要將它隱藏起來 - 但是一旦他們點擊了保存 - 我想要有一個功能來運行CBO,並檢查他們是否多次選擇了同一個項目 - 如果他們有,我想給他們一個MsgBox說:「修復你的選擇,你不能有兩個項目」 – LD16
這聽起來像一個多選列表框會更合適 – Plutonix