可以使用表中的行值在加载时动态构建组合框吗?

Posted

技术标签:

【中文标题】可以使用表中的行值在加载时动态构建组合框吗?【英文标题】:Can combobox be built dynamically on load with a row value from a table? 【发布时间】:2012-03-06 09:35:23 【问题描述】:

我的表单中有大量 ComboBox 控件,最初每个控件的所有值都在一个表中,但这给了我超过 100 个表 - 太多了,所以我被告知要创建一个table 保存所有 ComboBox 值,其中一列用于控件名称,一列用于值,然后使用表单的 load 事件以动态填充所有 ComboBox 值。问题是我看不到如何做到这一点。使用 AddItem 我必须为 VBA 中的每个 ComboBox 中的每个值都有一个 AddItem 行,我认为这违背了目的。我试图定义一个字符串来将值保存为一个列表,然后将控件的 RowSourceType 设置为 Value List 并将 RowSource 设置为字符串,而 VBA 不喜欢这样。有任何想法吗?

【问题讨论】:

【参考方案1】:

一百个查找组合不是一个大问题。包含所有查找信息的单个表可能会成为问题。

您可以在相关事件(例如加载)中将组合的行源设置为:

SELECT ValueField FROM ComboTable 
WHERE ComboName = 'MyCombo'

另请参阅:Creating lookup field in MS Access - better to have one or many source tables?

【讨论】:

以上是关于可以使用表中的行值在加载时动态构建组合框吗?的主要内容,如果未能解决你的问题,请参考以下文章

Winforms,我可以在这里使用文本框而不是组合框吗? (超过 15k 选项的下拉列表)

如何链接多个组合框表中的两个组合框?

EXTJS 4.1 中的向上组合框

R组合具有相似值的行

动态生成列名时如何获取kendo选择的行值

Ext JS 组合框值在模糊后重置为错误值