基于记录集向组合框添加值

Posted

技术标签:

【中文标题】基于记录集向组合框添加值【英文标题】:Adding value to combobox based on recordset 【发布时间】:2018-02-22 09:29:56 【问题描述】:

我有一个组合框,他的行源设置为:-

Set rs = CurrentDb.OpenRecordset("SELECT...")
Set cboBroker.Recordset = rs

我是否可以在列表顶部添加一个名为“<ALL>”的值,如果可以,如何?

【问题讨论】:

【参考方案1】:

如果组合框行源直接绑定到记录集,则需要在记录集中进行任何修改。不过你可以这样做:

SELECT "<ALL>" FROM MSysObjects WHERE ID = (SELECT First(ID) FROM MSysObjects)
UNION ALL
SELECT ... 

但你不应该。这会降低一些性能,并且会使添加列变得困难。

相反,您可以使用不可编辑的值列表,并像这样填充它:

cboBroker.RowSource = ""
cboBroker.AddItem "<ALL>"
Set rs = CurrentDb.OpenRecordset("SELECT...")
Do While Not rs.EOF
   cboBroker.AddItem rs.Fields(0).Value
   rs.MoveNext
Loop

【讨论】:

以上是关于基于记录集向组合框添加值的主要内容,如果未能解决你的问题,请参考以下文章