我在Win7下使用Access 2010。我发现我可以在运行时通过简单地调用ReDim arrayName(x)
来维护我的数组,而不首先将数组声明为Dim arrayName()
。
Sub FooBar()
ReDim myArray(2)
myArray(0) = "This is the first string in myArray."
myArray(1) = "This is the second string in myArray."
myArray(2) = "And this is the last string in myArray."
MsgBox myArray(0) & vbCrLf & myArray(1) & vbCrLf & myArray(2)
End Sub
我有什么理由不使用这个快捷方式吗?
干杯!
答案 0 :(得分:7)
这很有趣。 This MSDN page确认你所看到的内容:这是一个引用:
“您可以使用ReDim语句隐式声明一个数组 一个程序。当你注意不要拼错阵列的名字时要小心 使用ReDim语句。即使Option Explicit语句是 包含在模块中,将创建第二个数组。“
此页面解释Redim
创建一个新数组并将现有数组复制到其中(假设有一个数组):
http://msdn.microsoft.com/en-us/library/w8k3cys2%28v=vs.80%29.aspx
关于你的问题,如果你这样做,我会说不,因为它令人困惑,并且确实打开了你的代码,而选择明确无法捕获的错误。
合理地说,Redim Preserve
没有表现出这种行为。