访问:复选框的下拉列表
Posted
技术标签:
【中文标题】访问:复选框的下拉列表【英文标题】:Access: Dropdown list of CheckBoxes 【发布时间】:2019-03-21 18:48:40 【问题描述】:我试图弄清楚如何复制我在 VB.Net 中所做的事情。我正在尝试创建一个复选框下拉框,以便用户可以选择多个选项。我已经能够创建下拉框,但我无法弄清楚如何添加复选框,以及如何使其长句子不被截断(见突出显示)。
我试图避免使用任何类型的 VBA 代码,但如果这是唯一的方法,我想我将不得不硬着头皮。
【问题讨论】:
不要浪费你的时间。 Access 中的控件本质上是静态的(不能自定义超出内置行为),并且它们的属性通常不提供您请求的详细配置。 Access 不是 VB.Net,当然也没有适当的框架来创建这样的自定义控件,即使使用 VBA。即使您在发布的答案中使用多值字段一起破解某些内容,您也永远不会让它按照您的喜好处理您的长字符串。 【参考方案1】:据我所知,显示允许从组合框中进行多项选择的复选框的唯一方法是使用多值字段,例如:
但是,我个人建议避免使用这种方法,因为使用多值字段可能会很痛苦,并且会违反数据库规范化规则。
相反,您可能希望使用允许多选的列表框,通过简单多选(每次单击选择另一个项目)或扩展多选(用户按住 Ctrl或 Shift 选择多个项目)。
另一种选择可能是使用连续子表单,每条记录都显示在一个复选框旁边,例如:
【讨论】:
我想从简单的多值组合框方法开始,我现在才刚刚开始理解访问函数,这似乎是最简单的。我想知道你是怎么做到的?我猜这是一个简单的“是/否”,但我找不到它 虽然答案包含避免这种方法的建议,但并没有完全解释通过使 ComboBox 支持多值字段,它实际上改变了绑定列的隐藏表模式。它创建了一个自动的、隐藏的多对多桥接表,然后对查询等提出特殊要求和限制。我以前曾亲自使用它们以获得一定的优势,但不要仅仅为了获得复选框控制行为而使用它们。仅当多值字段提供必要的数据驱动目的时才这样做。 用户必须能够滚动列表并选择多个选项。我想不出另一种方法来做到这一点而不让它变得非常丑陋,因为用户可以选择大约 50 个选项。归根结底,我只需要将选择的选项放入一个字符串中,然后我可以放入另一个表中。我没有对完成的字符串进行太多操作或任何操作 我建议两个带有 --> 和 @CPerkins 我已经更新了我的答案以提供另一种选择。以上是关于访问:复选框的下拉列表的主要内容,如果未能解决你的问题,请参考以下文章