-1

他のコンボボックスと同じデータを持つ最初のコンボボックスに基づいて、他のコンボボックスをフィルタリングするにはどうすればよいですか。

Visual Basic 2010 と、コードに接続された ms アクセス データベースを使用しています。vbフォームには5つのコンボボックスがあり、すべてのコンボボックスには次のコードで同じデータが入力されています:

プライベート サブ 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

データは「アメリカ」「ロシア」「中国」「インド」「アフリカ」「ヨーロッパ」

ここで、他のコンボボックスをフィルタリングできるコードを作成したいと思います。

コンボボックス1で言及されているように、5つのリストから「インド」を選択した場合、他の4つのコンボボックスはリストに「インド」を表示してはなりません

それから

コンボボックス1で1つの名前がす​​でに選択されているため、4つのリストから「ヨーロッパ」を選択した場合、他の3つのコンボボックスはリストに「インド」と「ヨーロッパ」を表示してはなりません

すべてのコンボボックスで同じことが続くはずです。

4

1 に答える 1

1

私は Visual Basic に詳しくありませんが、すべてのコンボ ボックスに対して選択変更イベントを実装し、選択が変更されたときに対応する要素を他の要素から削除し、除外されなくなった要素を追加する必要があります。これは高速で汚れたソリューションですが、機能するはずです。

于 2012-06-03T10:04:54.653 に答える