【问题标题】:MS Access - populate checkbox list from tableMS Access - 从表中填充复选框列表
【发布时间】:2016-03-10 17:38:47
【问题描述】:

我正在使用本地 Access 数据库。假设我有 3 张桌子 -

Projects、Contractors、Project_Contractors(链接表,多个承包商可以处理多个项目)。

我正在构建一个用于创建新项目条目的表单。我希望此表单具有所有承包商的复选框列表,因此该表单将向 Projects 表添加一个新条目并填充链接表。

我对 SQL 非常有经验,但对 Access 却没有。有没有办法我可以直接从承包商那里填写表格选项列表来完成这个?我正在使用 Access 2013。

【问题讨论】:

  • 如果不将表单切换到设计模式、添加控件、保存表单并返回正常模式,就无法在运行时向表单添加控件。这是一个糟糕的解决方案。另外我不知道您可能有多少个承包商,但如果是数百个或更多,则从空间、资源和实际角度来看,该解决方案不适用。下面克里斯托弗的解决方案是我能想到的最佳方法
  • 必须使用复选框吗?这是风格选择还是要求?
  • 复选框将是理想的,不会有超过 10-15 个承包商。明天我可以试一下列表框选项,看看效果如何,谢谢。

标签: ms-access vba


【解决方案1】:

列表框控件非常擅长实现这一点。对于较大的数据集,滚动浏览它们可能会很笨重,如果你不能让它足够高以显示所有行,你也会失去以前选择的可见性,但是设置和链接到 Contractors 表很容易(你应该可以通过向导来完成,或者在控制源中输入一些 SQL)。

打开列表框的多选属性应该可以满足您的需求。 MultiSelect Property

我认为从列表框中获取选择以生成附加查询需要 VBA。这是一个解释如何完成它的链接。 Clicky

编辑:为了更直接地回答您的问题,您可以通过在您的 Contractors 表中添加一个布尔字段(那里有一个复选框选项)来使用复选框,并将该表用作输入表单中的子表单。我个人认为这是一个糟糕的设计,而且清理它的步骤比使用列表框要复杂得多。

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 2015-12-04
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多