MS Access ComboBox.Column - 使用名称而不是索引?

时间:2010-08-24 20:08:05

标签: ms-access forms combobox

我有一个ComboBox控件,多个列作为Access 2007表单中的行源。 我现在正以这种方式从每个ComboBox项目中获取所选值...

value = ComboBoxName.Column(i) 'where i is the index.

我想使用列的实际名称和Recordset的......

value = ComboBoxName.Recordset.Fields("columnname")

(请注意,这在ComboBox'es的Recordset上无法正常工作:它仅在第一次更改ComboBox后才有效)

我的问题:

  • 我可以在ComboBox的Recordset上做一些“make this work”吗?:

value = ComboBoxName.Recordset.Fields("columnname")

  • 是否有一种方法可以直接使用名称获取所选记录的值?

  • ComboBox或它的Recordset是否有一个方法可以通过指定列名来获取列索引?

我想避免编写一个函数,我觉得在指定将来可能会改变的列索引时感觉不舒服。

2 个答案:

答案 0 :(得分:1)

没有简单的方法可以做到这一点。您可以创建记录集,也可以为每个列名称赋值给变量(FirstCol = 0)。

顺便说一下,为什么列会改变?如果您使用的是select语句,则在更改表时,组合将失败。

答案 1 :(得分:0)

PFIELD = Me.Form.Combo6.Column(0,0)