MS Access:全局与本地变量声明

时间:2014-02-11 17:42:24

标签: vba ms-access

我有一个包含几十个模块的Access应用程序。我一直在每个新模块中重新声明变量,减去需要全局范围的变量。我到处都使用Option Explicit。

问题:将公共局部变量声明为全局变量是不好的做法,即使范围只是本地的?我想,只是为了方便起见:

我在每个模块中声明的变量示例:

Dim strMsg as String
Dim strSQL as String
Dim N, N1, N2 as Integer
Dim db As Database

Set db = CurrentDb

任何指导或建议?

1 个答案:

答案 0 :(得分:5)

我认为您仍然希望将这些变量保留在本地。如果您在Module1并设置strMsg,那么您可以从Module2调用Module1中的某个功能,然后在strMsg中修改Module2。返回Module1后,您会发现Module1中没有状态发生变化,但现在您的strMsg不同了。当然这些基本上是静态类,并且没有状态本身,但通常最好保持一切尽可能接近调用代码。如果你没有一个非常令人信服的理由要求这些变量是全局的,那么请将它们保持在本地。