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 - 使用名称而不是索引?的主要内容,如果未能解决你的问题,请参考以下文章
将 accde 文件从 MS Access 2013 保存到 MS Access 2010
MS ACCESS, VBA 将外部 MS Access 表导入 SQL server 表
MS Access:突出显示 MS Access 报告中的特定字段