1

我有一个组合框,可以从查询中获取其列表项。但除了这些项目之外,我还需要一个在所有情况下都可用的静态选项。

我尝试以天真的方式这样做:

Private Sub Form_Open(Cancel As Integer)
   Set rst = CurrentDb.OpenRecordset("SELECT ESDNodes.Description, ESDNodes.Sort FROM ESDNodes WHERE (((ESDNodes.parentID) =" & parentID & ")) ORDER BY ESDNodes.Sort")
   Set nextSiblingSelect.Recordset = rst
   nextSiblingSelect.AddItem Item:="Make Last", Index:=0
End Sub

但最终出现此运行时错误

RowSourceType 属性必须设置为“值列表”才能使用此方法。

我有一半的预期。

这有什么技巧吗?我想我可以在我的表集中添加一个虚拟记录并更改查询,但这会相当难看,我不喜欢它。

4

1 回答 1

4

尝试将 UNION 查询作为组合框 RowSource。也许像:

SELECT Description, Sort FROM ESDNodes UNION SELECT "Make Last", 0 FROM ESDNodes ORDER BY Sort;

于 2017-09-01T22:50:09.697 回答