2012-06-03 8 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 다른 필터링 할 수있는 코드를 만들;

그때 다른 4 콤보 목록 다음

내가 선택하는 경우 "유럽"형식으로 "인도"가 표시 안 콤보 상자의 언급과 같이 5의 목록에서 "인도"를 선택하면 콤보 박스 1에서 1 개의 이름이 이미 선택 되었기 때문에 4의 목록이 표시되고 다른 3 개의 콤보는 목록에 "인도"와 "유럽"을 표시하면 안됩니다.

모든 콤보 박스는 동일해야합니다.

답변

1

저는 시각적 기본에 익숙하지 않지만 모든 콤보 상자에 대해 선택 변경 이벤트를 구현하고 선택 항목이 변경되면 다른 요소에서 해당 요소를 제거하고 더 이상 존재하지 않는 요소를 추가해야합니다 필터링 됨. 이것은 빠르고 더러운 해결책이지만 작동해야합니다.

관련 문제