有人可以向我解释为什么,在MS-Access 2007中的表单上的按钮的VBA代码中,这会给出错误“编译错误:类型不匹配:数组或用户定义的类型预期”
Private Sub Button_Click()
Dim Arr() As Integer
Foo (Arr())
End Sub
Private Sub Foo(Arr() As Integer)
Me.Field.Value = "Foo"
End Sub
但是编译得很好?
Private Sub Button_Click()
Dim Dummy
Dim Arr() As Integer
Dummy = Bar (Arr())
End Sub
Private Function Bar(Arr() As Integer)
Me.Field.Value = "Bar"
End Function
我正在编写的函数/子例程没有返回任何内容,但除非我将函数调用的返回值赋给虚拟变量,否则我无法进行编译,就像上面的Bar函数一样。
答案 0 :(得分:5)
如果您希望在参数周围使用括号,则必须使用“呼叫”,因此请跳过括号:
Private Sub Button_Click()
Dim Arr() As Integer
''No brackets
Foo Arr()
''Or
''Call Foo(Arr())
End Sub
Private Sub Foo(Arr() As Integer)
Me.Field.Value = "Foo"
End Sub