如何让组合框2显示仅与组合框1中所做的选择相关的记录?

Posted

技术标签:

【中文标题】如何让组合框2显示仅与组合框1中所做的选择相关的记录?【英文标题】:How to get a combobox2 to display records only relating to the selection made in combobox1? 【发布时间】:2017-03-23 20:55:17 【问题描述】:

所以我正在为一家公司创建一个数据库,我有一个被分成两半的表格,上半部分有客户信息和一个可供选择的 Combobox1。下半部分用于项目投标信息,并设置为一次显示一条记录,而不是该客户可用的每条记录。我想在项目一半上放一个组合框2,以选择仅与组合框1中选择的客户相关的项目记录。我遇到的问题是 combobox2 列出了项目表中的每条记录,而不是仅与在 combobox1 中选择的客户相关的记录,并且它不会更改为项目信息,无论我选择什么,它都会保持在同一个信息上。

P.S 表格的客户部分完全符合我的预期。

【问题讨论】:

有几种方法可以做到这一点。我喜欢在 Combo1 的 AfterUpdate 上触发它,并更改 Combo2 的 RowSource 以包含引用 Combo1 值的 WHERE 语句。 【参考方案1】:

这称为级联或依赖组合框 - 一个常见主题。搜索 *** 或谷歌。如果您希望组合框用于选择过滤条件,它必须是 UNBOUND。它可能会更好地放在上半部分。 “拆分”是指表单/子表单排列吗?如果是子表单,那么它的 LinkMasterFields 属性可以适当地引用组合框,而 LinkChildFields 属性引用子表单记录集中的关键字段。

否则,代码需要根据选择过滤或移动到所需的项目记录。

【讨论】:

这不是一个子表单,我只是添加了字段并使用一条线将表单切成两半,这样它就不会显示在数据表中。它应该是他们可以打印并让客户签名的投标表格。 表单用于屏幕显示和打印报告。每个都可以做得有点像另一个,但并不总是很好。要打印表单,必须将其过滤到所需的一个记录。最好向用户显示一个表单,但打印一个按组合框中选择的 ID 过滤的报告。

以上是关于如何让组合框2显示仅与组合框1中所做的选择相关的记录?的主要内容,如果未能解决你的问题,请参考以下文章

Datagridview 绑定到对象 - 使新行显示为空白

组合框选择加载上一个选择

如何让组合框选择与 ExtJS6 中显示的值不同的值?

如何根据组合框选择使子表单显示数据?

如何将两个组合框的选定项与单个数据源分开?

如何动态更改组合框显示成员