基于记录集向组合框添加值
Adding value to combobox based on recordset
我有一个组合框,其行源设置为:-
Set rs = CurrentDb.OpenRecordset("SELECT...")
Set cboBroker.Recordset = rs
我可以在列表顶部添加一个名为“<ALL>
”的值吗?如果可以,如何添加?
如果组合框行源直接绑定到记录集,则需要在记录集中进行任何修改。你可以这样做:
SELECT "<ALL>" FROM MSysObjects WHERE ID = (SELECT First(ID) FROM MSysObjects)
UNION ALL
SELECT ...
但你不应该。这会降低一些性能,并且难以添加列。
相反,您可以使用 non-editable 值列表,并像这样填充它:
cboBroker.RowSource = ""
cboBroker.AddItem "<ALL>"
Set rs = CurrentDb.OpenRecordset("SELECT...")
Do While Not rs.EOF
cboBroker.AddItem rs.Fields(0).Value
rs.MoveNext
Loop
我有一个组合框,其行源设置为:-
Set rs = CurrentDb.OpenRecordset("SELECT...")
Set cboBroker.Recordset = rs
我可以在列表顶部添加一个名为“<ALL>
”的值吗?如果可以,如何添加?
如果组合框行源直接绑定到记录集,则需要在记录集中进行任何修改。你可以这样做:
SELECT "<ALL>" FROM MSysObjects WHERE ID = (SELECT First(ID) FROM MSysObjects)
UNION ALL
SELECT ...
但你不应该。这会降低一些性能,并且难以添加列。
相反,您可以使用 non-editable 值列表,并像这样填充它:
cboBroker.RowSource = ""
cboBroker.AddItem "<ALL>"
Set rs = CurrentDb.OpenRecordset("SELECT...")
Do While Not rs.EOF
cboBroker.AddItem rs.Fields(0).Value
rs.MoveNext
Loop