Ms access Access 2003 VBA:仅返回列表框中最后一个选定项的索引

Ms access Access 2003 VBA:仅返回列表框中最后一个选定项的索引,ms-access,vba,Ms Access,Vba,在这篇文章的开头,我会说,这是我第一次使用列表框,之前的文章因缺乏细节而受到批评。因此,非常感谢所有的帮助,我希望这是足够的信息,而不是过分的杀伤力 目前,我有一个列表框,它使用一个点击事件更新连接表,该事件会迭代选定的项,如果这些项不在表中,它会添加它们。列表框也由选项组根据选项组值进行更新。查询使用适当的项目填充列表,并根据连接表选择/突出显示这些项目。此外,当项目是子类别时,也会选择该类别。这个功能非常完美,直到我要求它做更多 问题1:我需要区分项目的类别。因此,我在列表框中添加了一个空白

在这篇文章的开头,我会说,这是我第一次使用列表框,之前的文章因缺乏细节而受到批评。因此,非常感谢所有的帮助,我希望这是足够的信息,而不是过分的杀伤力

目前,我有一个列表框,它使用一个点击事件更新连接表,该事件会迭代选定的项,如果这些项不在表中,它会添加它们。列表框也由选项组根据选项组值进行更新。查询使用适当的项目填充列表,并根据连接表选择/突出显示这些项目。此外,当项目是子类别时,也会选择该类别。这个功能非常完美,直到我要求它做更多

问题1:我需要区分项目的类别。因此,我在列表框中添加了一个空白项,以便在类别之间添加一个空格。当出现空白项时,ListBox不会正确地更新连接表,反之亦然。

问题2:我的用户希望在某些情况下能够取消选择类别。这很好,只需在选择子类别后取消选择类别即可。但是,只要再次单击列表框,就会重新选择该类别,因为它会遍历所有条目

这两个问题的可感知解决方案:仅返回取消选择的项的索引,并相应地进行操作。这可能吗?如果是,怎么做


或者:我应该采取不同的方法吗?

人们可以将列表或组合框视为低资源子表单。相反,可以使用子表单来处理通常使用列表或组合框处理的函数


我不明白你想做什么,但我知道,当一个简单的控件由于任何原因无法满足需要时,调整子窗体的大小通常是答案

您选择使用未绑定的列表框而不是带有组合框的普通绑定子表单,有什么令人信服的原因吗?大多数情况下,这只是我想尝试的第一个想法。。。其他注意事项:查询根据特定用户的首选项使用项目子集填充列表框。数据需要存储在同一地点,但并非所有项目都适用于所有用户。是否仍然可以复制具有子窗体和组合框的multiselect属性?@David-W-Fenton请您为我指出一个参考,以便按照您的建议创建具有组合框的绑定子窗体。谢谢你的时间。我没有任何关于这方面的现有教程。当组合框/列表框的rowsource依赖于其他数据时,当您到达包含确定rowsource中应该包含的数据的记录时,可以在运行时分配rowsource。在父窗体/子窗体布局中,您应该将该代码放在父记录的OnCurrent中,在子窗体中设置组合框的rowsource,并根据适用于父记录的限制进行限制。