【问题标题】:Can you pass an array from a Sub into a Form?您可以将数组从 Sub 传递到 Form 中吗?
【发布时间】:2015-08-15 02:34:43
【问题描述】:

我写了一些代码:

  • 允许用户将文本文件或电子表格作为输入源导入。

  • 提示用户选择保存相关数据的字段。

  • 执行程序操作(基本上是检查网站上的一些内容,然后在满足条件时更新网站)。

我不得不“躲避”的事情是提示在哪里可以找到数据。我最初创建了一个简单的数组来从输入源中捕获字段名称,但后来我遇到了如何将其输入用户表单和组合框的绊脚石。

我最终决定创建另一个临时表,而不是将字段名称插入到数组中,而是将它们保存到记录集中,然后可以通过创建另一个记录集并查询它并从用户窗体中删除所有内容来访问记录集除所选记录集之外的记录集。

虽然它有效,但从外部看你不会知道它在做什么,因为所涉及的数据量非常少,但速度非常快。

我只是知道可能有更好的解决方案,我宁愿提出问题并在我记忆犹新时了解我的错误/疏忽。

最好的问候,

杰夫。

【问题讨论】:

标签: ms-access vba


【解决方案1】:

如果我理解正确,您希望在组合框中显示表格中的字段名称。如果正确,只需将组合框的“行源类型”属性设置为“字段列表”,然后将“行源”设置为表格即可。

【讨论】:

    【解决方案2】:

    组合框在 DATA 选项卡上具有“行源类型”属性。默认为 isis 表查询。

    但是,您可以将其设置为“值列表”,它接受要在组合框中显示的值的字符串。

    因此,如果将其设置为“1,2,3,4,5,6”,您将获得一列显示值的列表。

    您可能需要调整的其他属性包括:列宽、列数和绑定列。

    这是一种使用简短值列表填充组合的简单方法。

    如果需要,不要忘记使用 requery/refresh 方法。

    不要使用子表单,而是用一个看起来很像子表单的列表框来代替它,否则你必须做你对临时表所做的事情。

    列表框的填充方式与组合框相同。

    【讨论】:

    • 您如何将列表从 Sub 获取到 Userform?
    • 不要使用子表单,而是用一个看起来很像子表单的列表框来代替它,否则你必须做你对临时表所做的事情。
    猜你喜欢
    • 2012-12-29
    • 2022-01-17
    • 2017-05-18
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多