2012-06-03 3 views
-1

Как фильтровать другие combobox на основе первого combobox, который имеет те же данные, что и другие.Фильтр других combobox на основе первого combobox

Я использую Visual Basic 2010 и базу данных доступа ms, которая связана с кодом. На форме Vb У меня есть пять выпадающие списки и все ComboBoxes заполнены теми же данными с этим кодом:

Private Sub 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 ComboBoxes не должно быть «Индия» в списке

затем

Если я выбираю «Европа» форма список из 4, поскольку 1 имя было выбрано в combobox1, тогда остальные 3 комбинации не должны показывать «india» и «Europe» в списке

То же самое должно быть указано для всех списков со списком.

ответ

1

Я не знаком с визуальным базовым, но вы должны реализовать событие с измененным выбором для всех полей со списком и удалить соответствующие элементы из других при изменении выбора и добавить те, которые больше не являются отфильтровывается. Это быстрое и грязное решение, но должно работать.

Смежные вопросы