sql仅在填充组合框时显示列表框值

Posted

技术标签:

【中文标题】sql仅在填充组合框时显示列表框值【英文标题】:sql show listbox values only when combobox is populated 【发布时间】:2015-08-06 19:33:57 【问题描述】:

首先,我是新手,所以如果这是基本的,我很抱歉,但我也找不到正确的答案。

我得到了一些帮助来设置它,所以有些部分我没有完全理解。

我创建了一个用于数据输入的表单,其中包含以下字段:

TEAMS - 行源是表 TEAMS 的组合框; CALLREASONS - 多选列表框,其记录当前存在于表 CALLREASONS 中; ACTIONS - 多选列表框,其记录当前存在于表 CALLACTIONS 中; SUBMIT - 带有 VBA 的按钮,可将选定的数据发送到多个表。

数据库工作正常,保存了它们应该在的位置和格式,我遇到的问题是表单的显示。

我希望表单在打开时和每次提交记录后显示为空白。但是,如果我将列表框的行源设置为表格,则所有选项都会在表单加载时显示,并且在每次提交后显示选项和之前的选择。

如何使第一个列表框 CALLREASONS 仅在组合框 TEAMS 中进行选择后才显示可能的选项,而第二个列表框 CALLACTIONS 仅在列表框 CALLREASONS 中至少进行一个选择后才显示可能的选项?

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以更改 Update 或 Enter 事件上的控件行源,也可以简单地在事件上启用/禁用它们。

让我们以 3 个嵌套的组合框为例。

Combo1 已永久设置行源,因为它是***。

Combo2 和 Combo3 没有设置行源。

在 Combo2 的 Enter 事件中,可以将 rowsource 设置为

SELECT Pkey, DisplayText FROM tblOptions WHERE OptionGroupField = " & Forms!Form1!Combo1BoundField

在 Combo3 的 Enter 事件中,可以设置 rowsource 为

SELECT Pkey, DisplayText FROM tblOptions WHERE OptionGroupField = " & Forms!Form1!Combo2BoundField

以此类推。

【讨论】:

以上是关于sql仅在填充组合框时显示列表框值的主要内容,如果未能解决你的问题,请参考以下文章

当组合框有焦点时显示下拉列表

extjs 组合框在单击时显示空白列表

如何仅在悬停时显示截断的文本而不更改框列表的高度?

是否可以通过组合框值列表进行排序?

WinForms:DataGridView - 当单元格被编辑时显示组合框

ASP.NET MVC 组合框值加载