【问题标题】:Two-dimensional array assistance二维数组辅助
【发布时间】:2019-07-28 11:53:47
【问题描述】:

我是在 Access 中创建数组的新手,我在网上查找了一堆提供了一些帮助的文章。我创建了一个二维数组,并为数组中的每个位置分配了值。有趣的来了!!如何请求二维输入、存储信息、将用户输入与我已经创建的数组进行比较、将数组的匹配值传递给计算,然后在 Access 中显示结果?任何帮助将不胜感激!!非常感谢!!

【问题讨论】:

    标签: arrays vba ms-access


    【解决方案1】:

    我需要您的问题提供更多信息。您没有说明您正在比较的值的数据类型,但由于它是“计算”,我假设涉及数字,并且在此示例中我将使用整数而不是浮点数或双精度数来表示您的二维数组。还有,我不知道怎么计算结果,所以我就编了一个变量CalculatedResult

    Dim UserInput
    UserInput = InputBox("Please enter a number", "Enter Number", Integer)
    Dim CalculatedResult As Integer
    
    For Each element In My2DArray
      If UserInput = element Then
        Area(element)
      End If
    Next element
    
    Function Area(number As Integer) As Void
        ' Code used for calculation
        Debug.Print CalculatedResult
    End Function
    

    您可能需要为打印语句执行DoCmd.PrintOut 而不是Debug.Print 来显示Access 的结果;我不熟悉 VBA 与 Access 的关系。与嵌套的 For 循环相比,For Each 循环节省了大量编程时间。

    【讨论】:

    • 非常感谢!!我会试试看。 ?
    • 我还在玩它
    • 你好。所以我不得不走另一条路,因为我的双手在工作中被束缚。 IT 部门已禁用某些功能,而我无权启用它们。我现在将我所有的数字都加倍,在一个 215 节中用于进行比较的语句,并且必须删除数组。现在,我的循环无法正常工作、传递值以及需要在不使用 DAO 等的情况下将结果传递给报告时遇到问题。
    • 如果我可以上传我的代码图片,这会容易得多。我会尽量做到透明。我的一个循环如下所示: do (next line) j = j +1 (next line) StartPoint = inputbox(“你从哪里开始节点 a 到 z”) (next line) endpoint = inputbox(“你在哪里结束节点 a 到 z”)(下一行)循环,直到 t = trips。一切都是双倍的,“行程”由用户输入。起点和终点被传递给 215 个单独的 for 循环,这些循环使用这两个值来测试它们是否为真。如果为真,那么它应该为变量“时间”分配一个数值
    • “时间”也是一个双精度数,用于简单的计算,例如(变量​​ 1 + 变量 2 + ...+)/(时间 + 变量 N)。这个计算值和其他用户输入的值需要传递给可打印的报告。关于如何解决这个问题的任何想法?非常感谢您的帮助。非常感谢你所做的一切
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多