ms-access - 带有行源表/查询的组合框,但也带有 "select nothing"选项

标签 ms-access combobox vba

背景:

我正在使用 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/

相关文章:

ms-access - 隐藏 Access 2016 的功能区

excel - 从 Access 中搜索工作簿中的所有 Excel 工作表,并使用 VBA 事件表单中的字符串

java sql异常from子句中的语法错误

java - 更多关于组合框

combobox - 比较 2 个组合框的项目

vba - Excel VBA 相交

vba - 在 Vba 中修改是/否选项

excel - 如何使用Excel VBA round()进行四舍五入?

ms-access - 以另一种形式运行过程

c# - 如何在 Visual C# 中使用来自 mysql 的数据填充组合框