2012-06-03 230 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,但你要对所有的组合框执行选择改变的事件,并从其他的删除相应的元素时,选择的变化,并补充说,不再是那些过滤掉。这是一个快速和肮脏的解决方案,但应该工作。

相关问题