我是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
但我不知道如何为我的数据表构建它,因为我没有定义任何主键或记录标识符。
答案 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”的值复制到“结果”。