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

Posted

技术标签:

【中文标题】MS Access ComboBox.Column - 使用名称而不是索引?【英文标题】:MS Access ComboBox.Column - use name instead of index? 【发布时间】:2010-08-24 20:08:05 【问题描述】:

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

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

我想使用列的实际名称,就像 Recordset 的...

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

(请注意,这在组合框的记录集上无法正常工作:它仅在第一次更改组合框后才有效)

我的问题:

我可以在 ComboBox 的 Recordset 上做些什么来“使这项工作”吗?:

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

有没有直接使用名字获取选中记录的值的方法?

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

我想避免编写函数,并且我不愿意指定将来可能会更改的列索引。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于MS Access ComboBox.Column - 使用名称而不是索引?的主要内容,如果未能解决你的问题,请参考以下文章

ms-access:双链表

将 accde 文件从 MS Access 2013 保存到 MS Access 2010

MS ACCESS, VBA 将外部 MS Access 表导入 SQL server 表

MS Access:突出显示 MS Access 报告中的特定字段

MS access 使用相对路径查询多个 MS Access 数据库

连接 MS Access 而另一个应用程序使用相同的 MS Access 文件