如何从组合列表中的字段名称列表中选择特定字段值?

时间:2016-03-12 00:00:46

标签: vba access-vba

我是VBA Access编程的新手,希望有些专家可以帮我解决问题。

情境:

我在Access中有一个显示相应表格值的数据表。我的表有3列A,B和C.我的数据表有5列 - A,B,C,结果和ListBoxValue

基本上我的ListBoxValue列包含一个listbox,其中包含表格列的名称(即A,B和C)。为每一行创建此listbox

问题:

我想要实现的目标是:

当我从listbox中选择其中一列时,结果的值应反映与列表中所选列对应的值。

以下是一个例子:

假设我的数据表看起来像这样:

A | B | C | Result | ListBoxValue

1 | 2 | 3 | blank | List with values(A,B,C)

10 | 20 | 30 | blank | List with values(A,B,C)

对于第1行:如果从列表中选择A,则结果也应更新为1。 如果我从列表中选择B,结果字段应更新为2等,等等

我希望你能解决我的问题。我查看了Dlookup但我不知道如何为我的数据表构建它,因为我没有定义任何主键或记录标识符。

1 个答案:

答案 0 :(得分:0)

您需要一个数据表表单,我认为它有“ListBoxValue”列,这是一个带RowSourceType = "Value List"RowSource = "A";"B";"C"的Combobox。

现在进入表单的“设计”视图,并为Combobox设置AfterUpdate事件过程:

Private Sub ListBoxValue_AfterUpdate()

    Me!Result = Me(Me!ListBoxValue.Value)

End Sub

所以,如果你是选择值“A”,这将运行Me!Result = Me("A"),它会将列“A”的值复制到“结果”。