Access 2007 VBA:构建一个列表框,其中包含来自另一个列表框的选择选项

Posted

技术标签:

【中文标题】Access 2007 VBA:构建一个列表框,其中包含来自另一个列表框的选择选项【英文标题】:Access 2007 VBA : Building a listbox with selection choices from another list box 【发布时间】:2010-05-27 13:21:51 【问题描述】:

因此,每个订单可能有 8 个类别,但不一定是全部。所以我打算建立一个列表框,允许用户在打开“订单详细信息”表单时双击他们希望关联的每个类别(未绑定的表单,其中包含所有需要的 ID 号的隐藏文本框)。

我想在它旁边有另一个空文本框,允许我附加选择(最多 8 个),以便用户可以看到它们已被添加。

所以一个带有默认选项的列表框,当双击一个选项时,它会将该选项添加到第二个列表框以查看计数。

用什么 VB 来完成这样的事情?

谢谢 贾斯汀

【问题讨论】:

【参考方案1】:

我建议你让自己的生活变得困难。使用 Order Detail 表和允许用户选择各种类别的组合框创建一个子表单。

【讨论】:

所以我不确定我是否会关注这个......只是为了进一步阐述......所以有一个订单表和一个向一个开放数据的表格一次订购(未绑定的形式)。一旦您进入一个单独的订单,就需要一个数据输入控件来标记一个带有多达 8 个类别(或任何适用的类别)的单独订单记录。我知道这听起来有点可疑,但我所说的“类别”实际上是划分产品必须经过哪些划分的划分标签。所以我认为最简单的方法(鉴于这些是未绑定的表单)是采用一个列表框,默认 值(类别/部门标签),以及另一个用于从第一个选项中选择选项并为该 orderID 构建适用值的实际列表...有点像用于交叉表查询的 Access 向导表单想法。订单表已经建立,我什至不打算更改它....必须添加一个新的类别表,其中订单 ID 作为 FK(我已经将它放在隐藏的文本框中,因为这些是未绑定的表单)。所以我绝对不是说这是最好的主意....恰恰相反,这就是我问的原因。我只是没有遵循上述想法......虽然它可能更正常?? 在您描述的场景中,子表单可能不是最好的选择,子表单将与类别表相关,但未绑定的表单不是通常的设置。你可以在你的设置中有一个绑定的子表单吗? 我想我可以,因为它只是 DAO 记录集的东西,它根据之前的表单/屏幕选择将数据移动到加载控件中。要保存或更新,它只是单击按钮后面的 SQL 语句来保存记录,而且还给我在其他表中的额外记录用于日志和更改日志......我有点喜欢未绑定的东西,但我想只是因为这就是我学会了这样做。还有一点是,我想用这个场景来学习如何用同样的想法来构建一个“报表生成器”。列表框,带有可选字段,以及报表选择的一点可视化 Access 的一个规则是,我认为,“如果它变得困难,你做错了什么”:)【参考方案2】:

如果您想要两个列表框 --- 一个用于可用选项,另一个用于选定项目 --- 以及在可用和选定之间来回移动项目的能力,可以使用 VBA 完成,但并非易事。有关示例,请参阅How do I select items using dual list boxes?。

我个人赞成 Remou 的建议,如果你能根据你的情况来做的话。

【讨论】:

感谢汉斯!既然 Remou 解释了它,我不确定这是否是我最终会使用的,尽管这是我一开始所说的......谢谢!

以上是关于Access 2007 VBA:构建一个列表框,其中包含来自另一个列表框的选择选项的主要内容,如果未能解决你的问题,请参考以下文章

更改数据库数据或重新查询后访问 2007 VBA 列表框滞后

Microsoft Access 组合框和 vba 代码 2007

Access 2007列表框:如何以编程方式单击?

将文件名导入列表框,无需路径访问 2007 vba-

如何突出显示 MS-Access 列表框行?

Access VBA:比较两个列表框