在MS Access中公开一个数组 - 相当于var_dump()

时间:2014-03-26 21:10:18

标签: arrays vba ms-access

我在VBA中填充了一个数组,并且不知道,它实际上是一个数组数组。所以我想要相当于PHP的var_dump()函数。这么漂亮的工具(现在,在这里,我发现人们希望它等同于一堆语言。)

VBA Locals窗口让我深入到对象模型中,但我不能在我的数组中找到它。没有帮助。

我唯一知道的答案是设计For循环并将每个单行结果发送给好的'单行立即窗口。我必须在每个方面明确声明数组。而var_dump()是自我发现的 - 不需要任何东西,即时结果。

我知道我不会得到它,我知道我的问题的答案是"忘了它" (快乐修订版) ......但是有人发现了一些可以帮助VBA朝圣者的东西吗?

2 个答案:

答案 0 :(得分:5)

您可以将数组添加到Watch

Right click and select watch

Add to watch OK

Expand object it watch

答案 1 :(得分:3)

这非常简单,但可能会让你开始:

Sub tester()
    Debug.Print Dump(Array("a", "n",  _
                     Array("1", Array("hello", "there"), _
                     5), 77, 88, 100))
End Sub



Function Dump(v, Optional level As Long = 0)
Dim i As Long, s As String
    s = ""
    If TypeName(v) Like "*()" Then
        For i = LBound(v) To UBound(v)
            If TypeName(v(i)) Like "*()" Then
                s = s & Space(level * 4) & i & ": [Array]" & vbLf
                s = s & Dump(v(i), level + 1)
            Else
                s = s & Space(level * 4) & i & ": " & v(i) & vbLf
            End If
        Next i
    End If
    Dump = s
End Function

编辑:如果您希望能够导出输出,@ Brad的Watch窗口建议可能是最简单的方法。