2012-06-03 133 views
-1

如何過濾基於與其他組合框具有相同數據的第一個組合框中的其他組合框。基於第一個組合框過濾其他組合框

我使用visual basic 2010和一個與代碼連接的ms訪問數據庫。在一個VB窗體我有五個組合框和所有組合框都充滿了這段代碼相同的數據:

私人小組loadsubject()

Dim OleDBC As New OleDbCommand 
    Dim OleDBDR As OleDbDataReader 
    With OleDBC 
     .Connection = conn 
     .CommandText = "SELECT subject FROM tblsubjectBA" 
    End With 
    OleDBDR = OleDBC.ExecuteReader 
    cmbsub1.Items.Clear() 
    cmbsub2.Items.Clear() 
    cmbsub3.Items.Clear() 
    cmbsub4.Items.Clear() 
    If OleDBDR.HasRows Then 
     While OleDBDR.Read 
      cmbsub1.Items.Add(OleDBDR.Item(0)) 
      cmbsub2.Items.Add(OleDBDR.Item(0)) 
      cmbsub3.Items.Add(OleDBDR.Item(0)) 
      cmbsub4.Items.Add(OleDBDR.Item(0)) 
     End While 
    End If 
End Sub 

的數據是 「美國」 「俄羅斯」 「中國」 ‘印度’ ‘非洲’ ‘歐洲’

現在我想創造出可以過濾其他commoboxes即代碼;

,如果我從5列表中選擇「印度」如在combobox1提到然後在列表中

然後

如果我選擇「歐洲」的形式 其他4個組合框絕不能有「印度」因爲1名稱已經在combobox1中被選中,因此其他3個comboxes不能在列表中顯示「印度」和「歐洲」,因此列表中的4個名稱是

對於所有組合框都應遵循相同的步驟。

回答

1

我不熟悉Visual Basic,但你要對所有的組合框執行選擇改變的事件,並從其他的刪除相應的元素時,選擇的變化,並補充說,不再是那些過濾掉。這是一個快速和骯髒的解決方案,但應該工作。

相關問題