5

Access フォームに、キーとコードのマッピングを表す 2 列のコンボ ボックスがあります。コンボ ボックスの最初の列は、'バインドされた列' (つまり、MyComboBox.Valueが呼び出されたときに使用される列) です。

Value2 番目の列にある値に基づいて、コンボ ボックスを動的に設定する必要があります。たとえば、コンボ ボックスのソースが次の場合:

Value | Code
===============
 A1    | ABCD
 A2    | EFGH
 A3    | IJKL

コンボ ボックスの値は で簡単に設定できますがComboBox.Value = "A2"、2 番目の列を使用して同じことを行うにはどうすればよいでしょうか。ComboBox.Value = "EFGH"明らかに有効ではありません。基本的に次のようなロジックを探しますComboBox.Value = ComboBox.ValueWhereSecondColumnEquals("EFGH")

4

3 に答える 3

6

そして、それがテーブル/クエリに基づいていないことを前提としています。

Dim i As Integer

For i = 0 To ComboBox.ListCount-1
    If ComboBox.Column(1, i) = "EFGH" Then
        ComboBox.Value = ComboBox.ItemData(i)
        Exit For
    End If
Next i
于 2013-03-12T16:43:35.583 に答える
3

コンボがテーブルに基づいていると仮定すると、テーブルの値をDLookUpできます。

 ComboBox.Value = Dlookup("Value","Table","Code='" & sCode & "'")
于 2013-03-12T16:32:09.517 に答える