【问题标题】:How do you dynamically create controls on a MS Access form?如何在 MS Access 表单上动态创建控件?
【发布时间】:2011-11-02 03:02:59
【问题描述】:

我正在 MS Access 中编写调查(数据输入)表格。我需要在表单的标签中动态显示问题表中的所有问题。这些问题标签中的每一个都将附有一个组合框,用于显示可能的答案。

如何为表单动态添加标签?

【问题讨论】:

    标签: ms-access ms-access-2007 ms-office


    【解决方案1】:

    请参阅CreateControl Method。对于标签,使用 AcControlType 枚举中的 acLabel 作为 CreateControl 的 ControlType 参数。

    但是,这会变得更加复杂。除了创建标签控件之外,您还需要设置它的标题、位置(Top 和 Left 属性)和大小(Width 和 Height 属性)。也许还有其他属性:字体名称;字体大小;字体粗细;等等

    构建数据源可能会更容易,这样每个问题和答案对都包含一行。然后使用 2 个控件以连续形式呈现这些行:问题的文本框;和答案的组合框。这样您就不必为动态创建控件而烦恼了。

    【讨论】:

    • 感谢您的回复。您是否建议我只是将问题作为列制作一个表格,以便表格可以生成它?那将是可怕的数据库设计,但毕竟这是 Access。 :)
    • 不是每个问题的单独列。一个有 2 列的问题表:question_id;和问题文本。包含 person_id、question_id 和 answer 的 Answers 表。使用查询连接 question_id 上的 2 个表并过滤 person_id 上的结果集。或者,如果您觉得更方便,可以在主表单中显示问题,在子表单中显示答案。无论您喜欢哪种方法,都应该比在运行时创建数据控件省力得多。
    • 我明白了。我遇到的问题是,对于单个调查,我希望用户回答几个问题。我无法弄清楚如何创建一个具有子表单的调查表,该子表单允许用户为每个调查表输入许多问题的答案。那有意义吗?感谢您的帮助。
    • 在这种情况下,请查看 Duane Hookom 的 At Your Survey 应用程序。他的术语是“窃取想法和方法,但不是整个应用程序”。 rogersaccesslibrary.com/forum/topic3.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2018-04-16
    • 2016-07-28
    • 1970-01-01
    • 2020-12-24
    相关资源
    最近更新 更多