5

我在 Access 表单上有一个两列组合框,表示键到代码的映射。组合框的第一列是“绑定列”(即MyComboBox.Value调用时使用的列)。

我需要Value根据第二列中的值动态设置我的组合框。例如,如果我的组合框源是:

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

我可以简单地使用 设置组合框的值ComboBox.Value = "A2",但是如何使用第二列来做同样的事情呢?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 回答
0

如果源是组合框中选定的值,而目标是未绑定的组合框,则将目标组合框的 .BoundColumn 属性设置为适当的列,然后正常分配组合框值,如 cboX=cboY。即使绑定了目标组合框,您也可以根据需要动态更改绑定的列。

于 2015-03-20T01:02:16.370 回答