是否可以在另一个功能中使用一个功能

时间:2014-10-28 12:47:17

标签: vba ms-access

是否可以拥有这样的功能:

Function First(test1 as string)
 second 'Hello'
....
  Function second( test2 as string)
  ....
  End Function
...
End Function

我尝试这样做但是在第二个函数结束时我收到此错误:  Expected End Function

2 个答案:

答案 0 :(得分:1)

就像亚历克斯说你无法嵌套功能一样。您可以单独声明函数声明并仍然获得所需的结果。

Function second( test2 as string)
    ....
End Function

Function First(test1 as string)
    second 'Hello'
    ....
End Function

该函数需要在调用之前声明,这就是为什么你在第一个函数之前有第二个函数。

答案 1 :(得分:0)

如果您希望拥有嵌套功能,则表明您真正需要的是具有私有功能的类。我假设您要这样做,以便第二个功能在第一个功能之外是不可见的。这是关于正确的范围。

添加一个类模块并首先声明函数为public。

Public Function First(test1 as string)
    First = Second(test1)
End Function

Private Function Second(test2 as String)
    "Hello there"
End Function

这将封装逻辑,Second将不会在其所属的类之外可见。