背景:
我正在使用 Ms-Access 表单,并且有一个正在 VBA 中编码的组合下拉列表
问题:
是否可以有一个基于查询的组合,例如:“SELECT tbl.col1 FROM tbl”
所以你会得到一个绑定(bind)的下拉列表...
但是......
还想在列表中再添加一个...顶部的“未选择”。
如果有人有想法、提示或建议,请告诉我。
非常感谢!
一些代码:
Me.CboUnallocatedPayments.RowSource = " & _
"SELECT zTempBankCustomerReceipt.TransType, zTempBankCustomerReceipt.Ref, " & _
" zTempBankCustomerReceipt.Details,zTempBankCustomerReceipt.EntryDate, " & _
" zTempBankCustomerReceipt.NetAmt, " & _
" zTempBankCustomerReceipt.PaidStatus " & _
" FROM zTempBankCustomerReceipt UNION " & _
" SELECT 0, "**NOTHING SELECTED**" " & _
" FROM zTempBankCustomerReceipt" & _
" WHERE zTempBankCustomerReceipt.TransType = 'SA' " & _
" AND zTempBankCustomerReceipt.PaidStatus = '0'"
最佳答案
考虑对组合框行源进行联合查询。
SELECT tbl.col1 FROM tbl
UNION ALL
SELECT 'None Selected' FROM Dual;
Dual
是一个自定义表格,其设计保证它始终只包含 1 行。您可以按照 this SO answer 中的说明创建您自己的 Dual
表。 。但您不需要为此目的使用特殊的 table ;任何返回单行的表或查询就足够了。
关于组合中行的排序,您可以向查询添加第二个字段。如果您希望“未选择”
位于列表顶部,其余行按字母顺序排序...
SELECT 1 AS order_by, tbl.col1 FROM tbl
UNION ALL
SELECT 0, 'None Selected' FROM Dual
ORDER BY 1, 2;
关于ms-access - 带有行源表/查询的组合框,但也带有 "select nothing"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16040116/