【问题标题】:How to assign values to a multidimensional array in an Access VBA module?如何为 Access VBA 模块中的多维数组赋值?
【发布时间】:2014-12-21 21:37:44
【问题描述】:

以下内容告诉我存在编译器错误 - 预期语句结束(在等号上)。

Option Compare Database

Dim myArray(2, 2) As Integer = {{10, 10}, {10, 10}}

【问题讨论】:

    标签: arrays vba ms-access multidimensional-array


    【解决方案1】:

    试试这个:

    Dim myArray(2,2) as Integer
    'Note that it is a 3x3 array
    'If you need a 2x2 one then change appropriately :)
    
    myArray(0,0) = 10
    myArray(0,1) = 10
    ...
    

    如果都是相同的“10”,那么:

    For i=0 To 2
        For j = 0 To 2
            myArray(i,j) = 10
        Next
    Next
    

    【讨论】:

    • 嗯,我认为 myArray(2,2) 在每个维度中有 2 个元素(每个维度从 0 到 1)。但是,将值分配给多维数组的唯一方法是使用循环或多次初始化,那么呢?我希望我可以用一个语句将它们全部分配
    • myArray (1,1) 与 myArray(0 to 1, 0 to1) 是 2x2 相同
    • 或 myArray(1 to 2, 7 to 8) 是 2x2
    • 在线广告不那么捆绑,真的……我从不使用那些!
    【解决方案2】:

    在你的情况下:

    Dim myArray(2, 2) As Integer
    myArray(0, 0) = 10
    myArray(0, 1) = 10
    myArray(1, 0) = 10
    myArray(1, 1) = 10
    

    见:MSDN

    【讨论】:

    • 嗨,爱德华!看到问题是,当我尝试像 Dim numbers = New Integer() {1, 2, 4, 8} 或 Dim doubles = {1.5, 2, 9.9, 18} 一样初始化时,它给了我相同的编译器错误
    【解决方案3】:
    dim myArray as Variant
    
    myArray = array(Array(1,2), array(3,4))
    
    debug.print myArray(0)(0) '1
    debug.print myArray(0)(1) '2
    debug.print myArray(1)(0) '3
    debug.print myArray(1)(1) '4
    

    【讨论】:

      猜你喜欢
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多