access VBA 当变量会被当成参数进行传递时,最好不要在声明过程偷懒

发布时间 2023-07-31 20:09:09作者: 一曲轻扬

Dim a, b, c As String 不用讲,大家都这么玩过.实际上,它只将 c 声明为 String 类型,而 a 和 b 实际上是未声明的 Variant 类型。然后,当你尝试将未声明类型的变量 a 作为参数传递给 ByRef 参数的函数时,会导致类型不匹配的错误。

Sub MySub(ByRef x As String)
’ 函数代码
End Sub

MySub(a) ’ 错误,因为 a 的类型是未声明的

解决的方案是把参数变量单独声明,比如dim a as string