【问题标题】:Access 2003 VBA: Return only the index of the last item selected in a ListBoxAccess 2003 VBA:仅返回列表框中选择的最后一项的索引
【发布时间】:2011-01-30 11:57:07
【问题描述】:

我会先说,这是我第一次使用列表框,之前的帖子因缺乏细节而受到批评。因此,非常感谢所有帮助,我希望这是足够的信息而不是矫枉过正。

目前,我有一个列表框,它使用单击事件更新联结表(迭代选定的项目,如果它们不在表中,则添加它们)。列表框也由选项组更新(基于选项组值,查询使用适当的项目填充列表,并根据联结表选择/突出显示它们)。此外,当项目是“子类别”时,也会选择“类别”。这个功能完美,直到我要求它做更多......

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

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

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

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

【问题讨论】:

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

标签: ms-access vba


【解决方案1】:

可以将列表或组合框视为资源较少的子表单。相反,可以使用子表单来处理通常由列表或组合框处理的功能。

我不明白你想要做的所有事情,但我知道当一个简单的控件(无论出于何种原因)无法覆盖需要。

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2015-03-11
    • 1970-01-01
    • 2020-06-04
    • 2021-07-30
    相关资源
    最近更新 更多